On 7/30/24 3:10 PM, Olivier Langlois wrote: > diff --git a/io_uring/napi.h b/io_uring/napi.h > index 88f1c21d5548..5506c6af1ff5 100644 > --- a/io_uring/napi.h > +++ b/io_uring/napi.h > @@ -101,4 +101,13 @@ static inline int io_napi_sqpoll_busy_poll(struct io_ring_ctx *ctx) > } > #endif /* CONFIG_NET_RX_BUSY_POLL */ > > +static inline int io_do_sqpoll_napi(struct io_ring_ctx *ctx) > +{ > + int ret = 0; > + > + if (io_napi(ctx)) > + ret = io_napi_sqpoll_busy_poll(ctx); > + return ret; > +} > + static inline int io_do_sqpoll_napi(struct io_ring_ctx *ctx) { if (io_napi(ctx)) return io_napi_sqpoll_busy_poll(ctx); return 0; } is a less convoluted way of doing the same. > @@ -322,6 +319,9 @@ static int io_sq_thread(void *data) > if (io_sq_tw(&retry_list, IORING_TW_CAP_ENTRIES_VALUE)) > sqt_spin = true; > > + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) { > + io_do_sqpoll_napi(ctx); > + } Unnecessary parens here. -- Jens Axboe