Re: [PATCH 0/8][v2] MSI-X mask emulation support for assigned device

Alex Williamson
2010-10-20T15:38:56Z

On Wed, 2010-10-20 at 17:23 +0200, Avi Kivity wrote:
> On 10/20/2010 04:47 PM, Alex Williamson wrote:
> > >
> > > With current VFIO we would catch mask writes in qemu and
> > > call a KVM ioctl. We would also need an ioctl to retrieve
> > > pending bits long term.
> >
> > Ugh, no. VFIO us currently independent of KVM. I'd like to keep it
> > that way.
>
> Me, too. Perhaps even more than you.
>
> > We'll need to optimize interrupt injection and eoi via KVM,
> > but it should only be a performance optimization, not a functional
> > requirement.
>
> For level-triggered interrupts only, yes? MSI EOI does not involve any
> device or interrupt controller visible action?

Right, the EOI is for legacy interrupts only. Perhaps we don't care
enough about performance of those to route it through KVM so long as we
can co-exist with the KVM APIC. MSIs are currently still bouncing from
VFIO to QEMU to the guest, which seems inefficient.

> > It would probably make sense to request a mask/unmask ioctl in VFIO for
> > MSI-X, then perhaps the pending bits would only support read/write (no
> > mmap), so we could avoid an ioctl there.
>
> I would much like to see in-band information (which mask/unmask is for
> older Linux) done via eventfds so userspace is not involved.

Hmm, I'm not sure how to do that yet.

Alex