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

From: Michael S. Tsirkin
Date: Thu Jun 28 2012 - 04:42:29 EST


On Wed, Jun 27, 2012 at 08:33:40AM -0600, Alex Williamson wrote:
> On Wed, 2012-06-27 at 12:58 +0300, Michael S. Tsirkin wrote:
> > On Tue, Jun 26, 2012 at 11:08:52PM -0600, Alex Williamson wrote:
> > > Ok, let's see how this flies. I actually quite like this, so be
> > > gentle tearing it apart ;)
> > >
> > > I just couldn't bring myself to contort KVM_IRQFD into something
> > > that either sets up an irqfd or specifies a nearly unrelated EOI
> > > eventfd. The solution I've come up with, that also avoids exposing
> > > irq_source_ids to userspace, is to work through the irqfd. If we
> > > setup a level irqfd, we can optionally associate an eoifd with
> > > the same irq_source_id, by passing the irqfd. To do this, we just
> > > need to create a new reference counted object for the source ID
> > > so we don't run into problems ordering release. This means we
> > > end up with a KVM_EOIFD ioctl that has both general usefulness and
> > > can still tie into an irqfd.
> >
> > I like this API.
>
> Yay! I'll work on the bugs you've spotted.
>
> > > In patch 6/6 I also include an alternate de-assert mechanism via an
> > > irqfd with the opposite polarity. I don't currently use this, but
> > > it's pretty trivial and at least available in archives now.
> >
> > The nasty bit about that is that if you assert twice then
> > deassert once it's not clear what should happen.
> > But yea, it does not hurt to put them in the archives.
>
> It's no different that KVM_IRQ_LINE in that sense. It's not an
> accumulator, it's a set state. Thanks,
>
> Alex

Yes but eventfd semantics are that of an accumulator so this
does not match what a normal eventfd does very well.
Anyway, as it's not required now we can argue about it
when we get to it.

--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/