[PATCH 0/5] return nxt propagation within io-wq ctx

From: Pavel Begunkov
Date: Fri Feb 28 2020 - 17:54:09 EST


After io_put_req_find_next() was patched, handlers no more return
next work, but enqueue them through io_queue_async_work() (mostly
by io_put_work() -> io_put_req()). The patchset fixes that.

Patches 1-2 clean up and removes all futile attempts to get nxt from
the opcode handlers. The 3rd one moves all this propagation idea into
work->put_work(). And the rest ones are small clean up on top.

Pavel Begunkov (5):
io_uring: remove @nxt from the handlers
io_uring/io-wq: pass *work instead of **workptr
io_uring/io-wq: allow put_work return next work
io_uring: remove extra nxt check after punt
io_uring: remove io_prep_next_work()

fs/io-wq.c | 28 ++---
fs/io-wq.h | 4 +-
fs/io_uring.c | 334 ++++++++++++++++++++------------------------------
3 files changed, 146 insertions(+), 220 deletions(-)

--
2.24.0