diff options
author | Soheil Hassas Yeganeh <soheil@google.com> | 2020-12-18 14:01:57 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-12-19 11:18:37 -0800 |
commit | 1493c47fb140ddd9e5c291f0c0da3fb03741c766 (patch) | |
tree | 1317d23bb8bc4c9db641ec0e841dbe7c2f294743 /fs/fscache/fsdef.c | |
parent | e411596d48b5b77632deb91afcbc3185b9b658cb (diff) | |
download | linux-1493c47fb140ddd9e5c291f0c0da3fb03741c766.tar.bz2 |
epoll: simplify and optimize busy loop logic
ep_events_available() is called multiple times around the busy loop logic,
even though the logic is generally not used. ep_reset_busy_poll_napi_id()
is similarly always called, even when busy loop is not used.
Eliminate ep_reset_busy_poll_napi_id() and inline it inside
ep_busy_loop(). Make ep_busy_loop() return whether there are any events
available after the busy loop. This will eliminate unnecessary loads and
branches, and simplifies the loop.
Link: https://lkml.kernel.org/r/20201106231635.3528496-6-soheil.kdev@gmail.com
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Khazhismel Kumykov <khazhy@google.com>
Cc: Guantao Liu <guantaol@google.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/fscache/fsdef.c')
0 files changed, 0 insertions, 0 deletions