On top of "[PATCH 5.14 00/12] for-next optimisations" The first two further optimise non-drain and rare-drain cases, so the overhead of it on the hot/generic path is minimal. With those, I'm more or less happy about draining. 3/3 inlines io_commit_cqring(). I didn't want to bloat the binary with it before, but now the hot path is shrinked enough. Pavel Begunkov (3): io_uring: switch !DRAIN fast path when possible io_uring: shove more drain bits out of hot path io_uring: optimise io_commit_cqring() fs/io_uring.c | 68 ++++++++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 30 deletions(-) -- 2.31.1