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

From: Avi Kivity
Date: Mon Apr 27 2009 - 07:24:20 EST


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

--
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/