Re: [KVM PATCH v2 2/2] kvm: add support for irqfd via eventfd-notification interface

Avi Kivity
2009-04-27T11:24:19Z

Gregory Haskins wrote:
> Something else to consider: eventfd supports calling eventfd_signal()
> from interrupt context, so
> even if the callback were not invoked from a preempt/irq off CS due to
> the wqh->lock, the context may still be a CS anyway. Now, userspace and
> vbus based injection do not need to worry about this, but I wonder if
> this is a desirable attribute for some other source (device-assignment
> perhaps)?
>

I'm no networking expert, but device assignment certainly wants to queue
an interrupt from an interrupt (basically it forwards the interrupt from
host to guest). Block is also simple enough to trigger the interrupt
from the completion context.

For networking, we'd eventually want to do the host->guest copy using a
dma engine, and we'd want to inject the interrupt from the dma engine's
completion handler.

> If so, is there a way to design the lockless-injection code such that
> its still friendly to irq-context, or is this a mode that we would never
> want to support anyway? I think this would be a good thing to have at
> least to maintain compatibility with the existing eventfd interface,
> which has its own advantages.
>

This has RCU painted all over it in a 1200-point font.

--
error compiling committee.c: too many arguments to function