diff options
author | Martin Karsten <mkarsten@uwaterloo.ca> | 2024-11-09 06:02:33 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-11-12 03:45:06 +0100 |
commit | ab5b28b007a7ab3edeb0a5e1d04669945ddb1d37 (patch) | |
tree | 8ab6663e36a8387cbff4c2cb466d36711fbd227d | |
parent | net: Add control functions for irq suspension (diff) | |
download | linux-ab5b28b007a7ab3edeb0a5e1d04669945ddb1d37.tar.xz linux-ab5b28b007a7ab3edeb0a5e1d04669945ddb1d37.zip |
eventpoll: Trigger napi_busy_loop, if prefer_busy_poll is set
Setting prefer_busy_poll now leads to an effectively nonblocking
iteration though napi_busy_loop, even when busy_poll_usecs is 0.
Signed-off-by: Martin Karsten <mkarsten@uwaterloo.ca>
Co-developed-by: Joe Damato <jdamato@fastly.com>
Signed-off-by: Joe Damato <jdamato@fastly.com>
Tested-by: Joe Damato <jdamato@fastly.com>
Tested-by: Martin Karsten <mkarsten@uwaterloo.ca>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>
Link: https://patch.msgid.link/20241109050245.191288-4-jdamato@fastly.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | fs/eventpoll.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 1ae4542f0bd8..f9e0d9307dad 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -420,7 +420,9 @@ static bool busy_loop_ep_timeout(unsigned long start_time, static bool ep_busy_loop_on(struct eventpoll *ep) { - return !!READ_ONCE(ep->busy_poll_usecs) || net_busy_loop_on(); + return !!READ_ONCE(ep->busy_poll_usecs) || + READ_ONCE(ep->prefer_busy_poll) || + net_busy_loop_on(); } static bool ep_busy_loop_end(void *p, unsigned long start_time) |