[PATCH 0/3] tw mutex & IRQ rw completion batching

Pavel Begunkov
2021-08-18T11:43:30Z

In essence, it's about two features. The first one is implemented by
1-2 and saves ->uring_lock lock/unlock in a single call of
tctx_task_work(). Should be useful for links, apolls and BPF requests
at some moment.

The second feature (3/3) is batching freeing and completing of
IRQ-based read/write requests.

Haven't got numbers yet, but just throwing it for public discussion.

P.S. for the new horrendous part of io_req_task_complete() placing
state->compl_reqs and flushing is temporary, will be killed by other
planned patches.

Pavel Begunkov (3):
io_uring: flush completions for fallbacks
io_uring: batch task work locking
io_uring: IRQ rw completion batching

fs/io_uring.c | 103 +++++++++++++++++++++++++++++++++-----------------
1 file changed, 69 insertions(+), 34 deletions(-)

--
2.32.0