Re: [PATCH v8 0/6] kvm: level irqfd support

Alex Williamson
2012-08-16T16:45:59Z

On Thu, 2012-08-16 at 19:32 +0300, Avi Kivity wrote:
> On 08/11/2012 01:37 AM, Alex Williamson wrote:
> > v8:
> >
> > Trying a new approach. Nobody seems to like the internal IRQ
> > source ID object and the interactions it implies between irqfd
> > and eoifd, so let's get rid of it. Instead, simply expose
> > IRQ source IDs to userspace. This lets the user be in charge
> > of freeing them or hanging onto a source ID for later use. They
> > can also detach and re-attach components at will. It also opens
> > up the possibility that userspace might want to use each IRQ
> > source ID for more than one GSI (and avoids the kernel needing
> > to manage that). Per suggestions, EOIFD is now IRQ_ACKFD.
> >
> > I really wanted to add a de-assert-only option to irqfd so the
> > irq_ackfd could be fed directly into an irqfd, but I'm dependent
> > on the ordering of de-assert _then_ signal an eventfd. Keeping
> > that ordering doesn't seem to be possible, especially since irqfd
> > uses a workqueue, if I attempt to make that connection. Thanks,
>
> I can't say I'm happy with exposing irq source IDs. It's true that they
> correspond to a physical entity so they can't be said to be an
> implementation detail, but adding more ABIs has a cost and I can't say
> that I see another user for this.
>
> Can you provide a link to the combined irqfd+ackfd implementation? I'm
> inclined now to go for the simplest solution possible.

As soon as I write it :) Keeping lists to handle the one-to-many
deassert-to-notify will notch up the complexity, but it'll be
interesting to see how it compares. Thanks,

Alex