Messages in this thread | | | Date | Sat, 28 Sep 2019 21:07:26 +0200 | From | Roman Penyaev <> | Subject | Re: [PATCH RESEND v4] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode |
| |
On 2019-09-28 04:29, Andrew Morton wrote: > 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?
Yes, I can revisit this once more next week.
Heiher, mind to prepare a patchset with your test suit and make it a part of kselftest? I hope nobody has any objections.
-- Roman
| |