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

Pavel Begunkov
2020-02-28T23:38:34Z

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.

v2: rebase on top of poll changes

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 | 320 ++++++++++++++++++++------------------------------
3 files changed, 141 insertions(+), 211 deletions(-)

--
2.24.0