qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v4 3/3] aio: Introduce aio-epoll.c


From: Stefan Hajnoczi
Subject: Re: [Qemu-block] [PATCH v4 3/3] aio: Introduce aio-epoll.c
Date: Tue, 3 Nov 2015 11:23:16 +0000
User-agent: Mutt/1.5.24 (2015-08-30)

On Mon, Nov 02, 2015 at 09:33:19PM +0800, Fam Zheng wrote:
> On Mon, 11/02 13:19, Stefan Hajnoczi wrote:
> > On Mon, Nov 02, 2015 at 10:32:54AM +0800, Fam Zheng wrote:
> > > On Fri, 10/30 10:07, Stefan Hajnoczi wrote:
> > > > On Fri, Oct 30, 2015 at 12:06:29PM +0800, Fam Zheng wrote:
> > > > > To comply with aio_{disable,enable}_external, we always use ppoll when
> > > > > aio_external_disabled() is true.
> > > > 
> > > > All file descriptors are added to the epoll fd.  Does that mean epoll
> > > > will report the same fds again after we come out of
> > > > ppoll()/aio_external_disabled()?
> > > > 
> > > > The two constraints to think about:
> > > > 1. Ideally there should be no duplicated events.
> > > > 2. There absolutely cannot be any missed events.
> > > > 
> > > 
> > > I'm not sure I understood your question. The file descriptors added to 
> > > epollfd
> > > are always in sync with ppoll, so there is no difference between calling
> > > epoll_wait and ppoll. When we come out of aio_external_disabled(), the 
> > > same set
> > > of fds will be polled, but the events got by ppoll should already be 
> > > handled.
> > > 
> > > What am I missing?
> > 
> > I'm asking about duplicated events.  The epoll fd monitors the same set
> > of fds as ppoll().  When we come out of aio_external_disabled() will
> > epoll fd see the old events that have already been handled by ppoll()?
> 
> No, we don't get duplicated events. epoll fd will only see unhandled (new)
> events.

Excellent.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]