Message ID | 20241102005214.32443-5-jdamato@fastly.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Suspend IRQs during application busy periods | expand |
On 11/1/2024 7:52 PM, Joe Damato wrote: > From: Martin Karsten <mkarsten@uwaterloo.ca> > > 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>
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)