Commit b62e0efd authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring: run local task_work from ring exit IOPOLL reaping



In preparation for needing to shift NVMe passthrough to always use
task_work for polled IO completions, ensure that those are suitably
run at exit time. See commit:

9ce6c987 ("nvme: always punt polled uring_cmd end_io work to task_work")

for details on why that is necessary.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 26ec15e4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1523,6 +1523,9 @@ static __cold void io_iopoll_try_reap_events(struct io_ring_ctx *ctx)
		}
	}
	mutex_unlock(&ctx->uring_lock);

	if (ctx->flags & IORING_SETUP_DEFER_TASKRUN)
		io_move_task_work_from_local(ctx);
}

static int io_iopoll_check(struct io_ring_ctx *ctx, unsigned int min_events)