1,2 -- optimisation with kvmalloc()'ing file tables 4 -- optimise prep_rw() still touching inode with !REG fixed files 11 -- a small CQ waiting optimisation 20 -- put_task optimisation, saves atomics in many cases 23 -- helps req alloc sustainability, also needed for futures features All others are cleanups, where 6-28 are resends. v2: added patches 1-5 Pavel Begunkov (28): io_uring: use kvmalloc for fixed files io_uring: inline fixed part of io_file_get() io_uring: rename io_file_supports_async() io_uring: avoid touching inode in rw prep io_uring: clean io-wq callbacks io_uring: remove unnecessary PF_EXITING check io-wq: improve wq_list_add_tail() io_uring: refactor io_alloc_req io_uring: don't halt iopoll too early io_uring: add more locking annotations for submit io_uring: optimise io_cqring_wait() hot path io_uring: extract a helper for ctx quiesce io_uring: move io_put_task() definition io_uring: move io_rsrc_node_alloc() definition io_uring: inline io_free_req_deferred io_uring: deduplicate open iopoll check io_uring: improve ctx hang handling io_uring: kill unused IO_IOPOLL_BATCH io_uring: drop exec checks from io_req_task_submit io_uring: optimise putting task struct io_uring: hide async dadta behind flags io_uring: move io_fallback_req_func() io_uring: cache __io_free_req()'d requests io_uring: remove redundant args from cache_free io_uring: use inflight_entry instead of compl.list io_uring: inline struct io_comp_state io_uring: remove extra argument for overflow flush io_uring: inline io_poll_remove_waitqs fs/io-wq.h | 2 +- fs/io_uring.c | 700 +++++++++++++++++++++++++------------------------- 2 files changed, 355 insertions(+), 347 deletions(-) -- 2.32.0