[PATCH REBASE v2 0/5] return nxt propagation within io-wq ctx
From: Pavel Begunkov
Date: Fri Feb 28 2020 - 18:38:34 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.
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