io_uring: optimise io_commit_cqring()
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 15 Jun 2021 15:47:58 +0000 (16:47 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 15 Jun 2021 21:44:34 +0000 (15:44 -0600)
commit2335f6f5ddf2f4621395fac5fa4b53d075828cc1
tree62899c7826fe8befb552357858db6a311cd8467f
parent3c19966d3710dbe5a44658c532052f11d797aecb
io_uring: optimise io_commit_cqring()

In most cases io_commit_cqring() is just an smp_store_release(), and
it's hot enough, especially for IRQ rw, to want it to save on a function
call. Mark it inline and extract a non-inlined slow path doing drain
and timeout flushing. The inlined part is pretty slim to not cause
binary bloating.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/7350f8b6b92caa50a48a80be39909f0d83eddd93.1623772051.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c