On Wed, 25 Sep 2019 09:56:03 +0800 hev <r@xxxxxx> wrote:
From: Heiher <r@xxxxxx>
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?