On Wed, 25 Sep 2019 09:56:03 +0800 hev <r...@hev.cc> wrote:

> From: Heiher <r...@hev.cc>
> 
> Take the case where we have:
> 
>         t0
>          | (ew)
>         e0
>          | (et)
>         e1
>          | (lt)
>         s0
> 
> t0: thread 0
> e0: epoll fd 0
> e1: epoll fd 1
> s0: socket fd 0
> ew: epoll_wait
> et: edge-trigger
> lt: level-trigger
> 
> We only need to wakeup nested epoll fds if something has been queued to the
> overflow list, since the ep_poll() traverses the rdllist during recursive poll
> and thus events on the overflow list may not be visible yet.
> 
> Test code:

Look sane to me.  Do you have any performance testing results which
show a benefit?

epoll maintainership isn't exactly a hive of activity nowadays :(
Roman, would you please have time to review this?

Reply via email to