Re: [PATCHv2 1/3] eventfd: allow atomic read and waitqueue remove

From: Avi Kivity
Date: Thu Jan 21 2010 - 12:13:24 EST

On 01/21/2010 06:58 PM, Davide Libenzi wrote:
On Thu, 21 Jan 2010, Michael S. Tsirkin wrote:

This is a backport of commit: 03db343a6320f780937078433fa7d8da955e6fce
modified in a way that introduces some code duplication on the one hand,
but reduces the risk of regressing existing eventfd users on the other

KVM needs a wait to atomically remove themselves from the eventfd
->poll() wait queue head, in order to handle correctly their IRQfd
deassign operation.

This patch introduces such API, plus a way to read an eventfd from its

Signed-off-by: Michael S. Tsirkin<mst@xxxxxxxxxx>

Avi, Davidel, how about only including the following part for -stable
then? Reason is, I still would like to be able to use irqfd there, and
getting spurious interrupts 100% of times unmask is done isn't a very
good idea IMO ...
It's the same thing. Unless there are *real* problems in KVM due to the
spurious ints, I still think this is .33 material.

I agree.

But I think we can solve this in another way in .32: we can clear the eventfd from irqfd->inject work, which is in process context. The new stuff is only needed for lockless clearing, no?

Do not meddle in the internals of kernels, for they are subtle and quick to panic.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at