From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCHv2 1/3] eventfd: allow atomic read and waitqueue remove Date: Thu, 21 Jan 2010 20:02:50 +0200 Message-ID: <20100121180250.GJ16707@redhat.com> References: <20100121162648.GA16458@redhat.com> <4B588B29.2050100@redhat.com> <20100121172336.GA16707@redhat.com> <4B588FCE.7030803@redhat.com> <20100121173259.GC16707@redhat.com> <4B58933C.4090209@redhat.com> <20100121174538.GG16707@redhat.com> <4B589532.9070408@redhat.com> <4B589582.9030300@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Davide Libenzi , mtosatti@redhat.com, kvm@vger.kernel.org, Linux Kernel Mailing List To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:35269 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752837Ab0AUSFz (ORCPT ); Thu, 21 Jan 2010 13:05:55 -0500 Content-Disposition: inline In-Reply-To: <4B589582.9030300@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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. -- MST