On 8/12/24 3:50 PM, Olivier Langlois wrote: > On Mon, 2024-08-12 at 14:31 -0600, Jens Axboe wrote: >> 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. > > I agree. but if I am to produce a 3rd version. How about even not > returning anything at all since the caller ignores the return value? > > I was hesitating about doing this but I did figure that a reviewer > would point it out if it was the right thing to do... Oh yeah, just kill the return value - in fact, just kill the whole helper then, it's pointless at that point. Just have the caller check for io_napi() and call io_napi_sqpoll_busy_poll(), it's only that one spot anyway. -- Jens Axboe