Re: [PATCH 2/2] xen/virtio: Avoid use of the dom0 backend in dom0

From: Roger Pau Monné
Date: Tue Jul 04 2023 - 03:49:22 EST


On Thu, Jun 29, 2023 at 03:44:04PM -0700, Stefano Stabellini wrote:
> On Thu, 29 Jun 2023, Oleksandr Tyshchenko wrote:
> > On 29.06.23 04:00, Stefano Stabellini wrote:
> > > I think we need to add a second way? It could be anything that can help
> > > us distinguish between a non-grants-capable virtio backend and a
> > > grants-capable virtio backend, such as:
> > > - a string on xenstore
> > > - a xen param
> > > - a special PCI configuration register value
> > > - something in the ACPI tables
> > > - the QEMU machine type
> >
> >
> > Yes, I remember there was a discussion regarding that. The point is to
> > choose a solution to be functional for both PV and HVM *and* to be able
> > to support a hotplug. IIRC, the xenstore could be a possible candidate.
>
> xenstore would be among the easiest to make work. The only downside is
> the dependency on xenstore which otherwise virtio+grants doesn't have.

I would avoid introducing a dependency on xenstore, if nothing else we
know it's a performance bottleneck.

We would also need to map the virtio device topology into xenstore, so
that we can pass different options for each device.

> Vikram is working on virtio with grants support in QEMU as we speak.
> Maybe we could find a way to add a flag in QEMU so that we can detect at
> runtime if a given virtio device support grants or not.

Isn't there a way for the device to expose capabilities already? For
example how does a virtio-blk backend expose support for indirect
descriptors?

Thanks, Roger.