io_uring/notif: remove ctx var from io_notif_tw_complete
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 15 Apr 2024 12:50:12 +0000 (13:50 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 15 Apr 2024 14:10:49 +0000 (08:10 -0600)
We don't need ctx in the hottest path, i.e. registered buffers,
let's get it only when we need it.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/e7345e268ffaeaf79b4c8f3a5d019d6a87a3d1f1.1713185320.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/notif.c

index 452c255de04a96aec1eade94afce8f5cbaea716f..3485437b207dd8d764dd918c8a066f1cd32f733e 100644 (file)
 void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts)
 {
        struct io_notif_data *nd = io_notif_to_data(notif);
-       struct io_ring_ctx *ctx = notif->ctx;
 
        if (unlikely(nd->zc_report) && (nd->zc_copied || !nd->zc_used))
                notif->cqe.res |= IORING_NOTIF_USAGE_ZC_COPIED;
 
-       if (nd->account_pages && ctx->user) {
-               __io_unaccount_mem(ctx->user, nd->account_pages);
+       if (nd->account_pages && notif->ctx->user) {
+               __io_unaccount_mem(notif->ctx->user, nd->account_pages);
                nd->account_pages = 0;
        }
        io_req_task_complete(notif, ts);