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

Avi Kivity
2010-01-24T11:06:39Z

On 01/21/2010 08:02 PM, Michael S. Tsirkin wrote:
> On Thu, Jan 21, 2010 at 07:57:22PM +0200, Avi Kivity wrote:
>
>> On 01/21/2010 07:56 PM, Avi Kivity wrote:
>>
>>> On 01/21/2010 07:45 PM, Michael S. Tsirkin wrote:
>>>
>>>>
>>>>> But you're in process context. An eventfd never blocks.
>>>>>
>>>> Yes it blocks if counter is 0. And we don't know
>>>> it's not 0 unless we read :) catch-22.
>>>>
>>> Ah yes, I forgot.
>>>
>>>
>> Well, you can poll it and then read it... this introduces a new race (if
>> userspace does a read in parallel) but it's limited to kvm and buggy
>> userspace.
>>
> I would rather not require that userspace never reads this fd.
> You are right that it does not now, but adding this as requirement
> looks like exporting an implementation bug to userspace.
>

Well, I don't like risking 2.6.32 non-kvm users for a bug that doesn't
happen in practice now.

After it gets some time in 2.6.33, we can backport it to 2.6.32 (since
that will be maintained long term).

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