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

From: Michael S. Tsirkin
Date: Thu Jan 21 2010 - 12:26:48 EST

On Thu, Jan 21, 2010 at 07:13:13PM +0200, Avi Kivity wrote:
> 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
>>> hand.
>>> 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
>>> context.
>>> 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?

No, AFAIK there's no way to clear the counter from kernel without
this patch.

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