Subject: Re: [RFC PATCH v2 00/19] virtual-bus

From: Rusty Russell <[email-masked]>
Date: Sat, 6 Jun 2009 00:05:46 +0930

On Fri, 5 Jun 2009 09:26:48 pm Gregory Haskins wrote:
> Hi Rusty,
>
> Rusty Russell wrote:
> > On Fri, 5 Jun 2009 04:19:17 am Gregory Haskins wrote:
> >> Avi Kivity wrote:
> >>> Gregory Haskins wrote:
> >>> One idea is similar to signalfd() or eventfd()
> >>
> >> And thus the "kvm-eventfd" (irqfd/iosignalfd) interface project was
> >> born. ;)
> >
> > The lguest patch queue already has such an interface :)
>
> Cool!  Ultimately I think it will be easier if both lguest+kvm support
> the same eventfd notion so this is good you are already moving in the
> same direction.

Not really; lguest doesn't do PCI.

> > And I have a partially complete in-kernel virtio_pci patch with the same
> > trick.
>
> I thought lguest didn't use pci?  Or do you just mean that you have an
> in-kernel virtio-net for lguest?

No, this was for kvm.  Sorry for the confusion.

> Other than the potential rcu issues that Paul already addressed, looks
> good.  FWIW: this looks like what we are calling "iosignalfd" on the kvm
> land (unless I am misunderstanding).  Do you have the equivalent of
> "irqfd" going the other way?

Yes; lguest uses write() (offset indicates cpu #) rather than ioctls, but 
anyone can do the LHREQ_IRQ write to queue an interrupt for delivery.

So the threads just get the same /dev/lguest fd and it's simple.

Thanks!
Rusty.