|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/2] xen/virtio: Avoid use of the dom0 backend in dom0
On 07.07.23 16:42, Roger Pau Monné wrote: On Fri, Jul 07, 2023 at 04:10:14PM +0200, Juergen Gross wrote:On 07.07.23 11:50, Roger Pau Monné wrote:On Fri, Jul 07, 2023 at 06:38:48AM +0200, Juergen Gross wrote:On 06.07.23 23:49, Stefano Stabellini wrote:On Thu, 6 Jul 2023, Roger Pau Monné wrote:On Wed, Jul 05, 2023 at 03:41:10PM -0700, Stefano Stabellini wrote:On Wed, 5 Jul 2023, Roger Pau Monné wrote:On Tue, Jul 04, 2023 at 08:14:59PM +0300, Oleksandr Tyshchenko wrote:Part 2 (clarification): I think using a special config space register in the root complex would not be terrible in terms of guest changes because it is easy to introduce a new root complex driver in Linux and other OSes. The root complex would still be ECAM compatible so the regular ECAM driver would still work. A new driver would only be necessary if you want to be able to access the special config space register.I'm slightly worry of this approach, we end up modifying a root complex emulation in order to avoid modifying a PCI device emulation on QEMU, not sure that's a good trade off. Note also that different architectures will likely have different root complex, and so you might need to modify several of them, plus then arrange the PCI layout correctly in order to have the proper hierarchy so that devices belonging to different driver domains are assigned to different bridges. TBH, I don't know. It might require some changes in the central parsing logic, but this shouldn't be too hard to do. That would likely be less intrusive than adding a new Xen-specific field to virtio_pci_common_cfg while still allowing us to do Xen specific configuration for all VirtIO devices. In case we want to go that route, this should be in a new "platform config" capability, which might be just another form of a vendor capability. Later we could even add grant-V3 support to Xen and to the virtio IOMMU device (see my last year Xen Summit design session). This could be usable for disaggregated KVM setups, too, so I believe there is a chance to get this accepted.********** What do you think about it? Are there any pitfalls, etc? This also requires system changes, but at least without virtio spec changes.Why are we so reluctant to add spec changes? I understand this might take time an effort, but it's the only way IMO to build a sustainable VirtIO Xen implementation. Did we already attempt to negotiate with Oasis Xen related spec changes and those where refused?That's because spec changes can be very slow. This is a bug that we need a relatively quick solution for and waiting 12-24 months for a spec update is not realistic. I think a spec change would be best as a long term solution. We also need a short term solution. The short term solution doesn't have to be ideal but it has to work now.My fear with such approach is that once a bodge is in place people move on to other stuff and this never gets properly fixed. I know this might not be a well received opinion, but it would be better if such bodge is kept in each interested party patchqueue for the time being, until a proper solution is implemented. That way there's an interest from parties into properly fixing it upstream.Unfortunately we are in the situation where we have an outstanding upstream bug, so we have to take action one way or the other.The required virtio IOMMU device modification would be rather small, so adding it maybe under a CONFIG option defaulting to off might be acceptable.Would you then do the grant allocation as part of virtio IOMMU?Long term, maybe. Do you remember my Grant-V3 design session last year? Being able to reuse the same layout for virtio IOMMU was one of the basic ideas for that layout (this would need some heavy work on the virtio IOMMU frontend and backend, of course).While this might well be the best option, do we have anyone with the time and expertise to work on this? I might be wrong, but it seems like a huge task. As a background project I'd like to pursue it. OTOH I'm not sure how much time I could spend on it. Juergen Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc Attachment:
OpenPGP_signature
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |