[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] [PATCH v4 3/3] aio: Introduce aio-epoll.c
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [Qemu-block] [PATCH v4 3/3] aio: Introduce aio-epoll.c |
Date: |
Mon, 2 Nov 2015 21:33:19 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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.
Fam