Commit 2e730d8d authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

io_uring/notif: remove ctx var from io_notif_tw_complete



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: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/e7345e268ffaeaf79b4c8f3a5d019d6a87a3d1f1.1713185320.git.asml.silence@gmail.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 7e58d0af
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -12,13 +12,12 @@
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);