Re: [PATCH RESEND v2] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode

2019-09-24 Thread Heiher
Hi, On Tue, Sep 24, 2019 at 11:19 PM Jason Baron wrote: > > > > On 9/24/19 10:06 AM, Heiher wrote: > > Hi, > > > > On Mon, Sep 23, 2019 at 11:34 PM Jason Baron wrote: > >> > >> > >> > >> On 9/20/19 12:00 PM, Jason Baron wrote: > >>> On 9/19/19 5:24 AM, hev wrote: > From: Heiher > >

Re: [PATCH RESEND v2] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode

2019-09-24 Thread Jason Baron
On 9/24/19 10:06 AM, Heiher wrote: > Hi, > > On Mon, Sep 23, 2019 at 11:34 PM Jason Baron wrote: >> >> >> >> On 9/20/19 12:00 PM, Jason Baron wrote: >>> On 9/19/19 5:24 AM, hev wrote: From: Heiher Take the case where we have: t0 | (ew)

Re: [PATCH RESEND v2] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode

2019-09-24 Thread Heiher
Hi, On Mon, Sep 23, 2019 at 11:34 PM Jason Baron wrote: > > > > On 9/20/19 12:00 PM, Jason Baron wrote: > > On 9/19/19 5:24 AM, hev wrote: > >> From: Heiher > >> > >> Take the case where we have: > >> > >> t0 > >> | (ew) > >> e0 > >> | (et) > >> e1 > >>

Re: [PATCH RESEND v2] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode

2019-09-23 Thread Jason Baron
On 9/20/19 12:00 PM, Jason Baron wrote: > On 9/19/19 5:24 AM, hev wrote: >> From: Heiher >> >> Take the case where we have: >> >> t0 >> | (ew) >> e0 >> | (et) >> e1 >> | (lt) >> s0 >> >> t0: thread 0 >> e0: epoll fd 0 >> e1: epoll fd 1

Re: [PATCH RESEND v2] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode

2019-09-20 Thread Jason Baron
On 9/19/19 5:24 AM, hev wrote: > From: Heiher > > 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 >

[PATCH RESEND v2] fs/epoll: Remove unnecessary wakeups of nested epoll that in ET mode

2019-09-19 Thread hev
From: Heiher 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 When s0 fires an event, e1 catches the event, and