From: Pavel Begunkov Date: Mon, 15 Apr 2024 12:50:11 +0000 (+0100) Subject: io_uring/notif: refactor io_tx_ubuf_complete() X-Git-Tag: for-6.10/io_uring-20240511~26 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=7e58d0af5a587e74f46f55b91a0197f750eba78c;p=linux-block.git io_uring/notif: refactor io_tx_ubuf_complete() Flip the dec_and_test "if", that makes the function extension easier in the future. Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/43939e2b04dff03bff5d7227c98afedf951227b3.1713185320.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- diff --git a/io_uring/notif.c b/io_uring/notif.c index b561bd763435..452c255de04a 100644 --- a/io_uring/notif.c +++ b/io_uring/notif.c @@ -37,10 +37,11 @@ static void io_tx_ubuf_callback(struct sk_buff *skb, struct ubuf_info *uarg, WRITE_ONCE(nd->zc_copied, true); } - if (refcount_dec_and_test(&uarg->refcnt)) { - notif->io_task_work.func = io_notif_tw_complete; - __io_req_task_work_add(notif, IOU_F_TWQ_LAZY_WAKE); - } + if (!refcount_dec_and_test(&uarg->refcnt)) + return; + + notif->io_task_work.func = io_notif_tw_complete; + __io_req_task_work_add(notif, IOU_F_TWQ_LAZY_WAKE); } struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx)