[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
signature.asc
Description: PGP signature