Apart from unrelated first patch, this persues two goals: 1. start preparing io_uring to move resources handling into opcode specific functions 2. make the first step towards long-standing optimisation ideas Basically, it makes struct io_submit_state embedded into ctx, so easily accessible and persistent, and then plays a bit around that. v2: rebase v3: drop the mm-related patch and rebase Pavel Begunkov (6): io_uring: always pass non-null io_submit_state io_uring: place io_submit_state into ctx io_uring: move ring_fd into io_submit_state io_uring: move *link into io_submit_state io_uring: persistent req bulk allocation cache io_uring: optimise req bulk allocation cache fs/io_uring.c | 166 +++++++++++++++++++++++++++----------------------- 1 file changed, 89 insertions(+), 77 deletions(-) -- 2.24.0