]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: optimise head checks in io_get_sqring()
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 30 Dec 2019 18:24:45 +0000 (21:24 +0300)
committerJens Axboe <axboe@kernel.dk>
Tue, 21 Jan 2020 00:04:02 +0000 (17:04 -0700)
commit72ec04293462d853762d0cedbb5c2fcdfbf0ef73
treea57c640fdd439cc5b39c61471017faa884a58de6
parentf8ca1cc03cd32b7c977652cb1d42b74672b2ced5
io_uring: optimise head checks in io_get_sqring()

A user may ask to submit more than there is in the ring, and then
io_uring will submit as much as it can. However, in the last iteration
it will allocate an io_kiocb and immediately free it. It could do
better and adjust @to_submit to what is in the ring.

And since the ring's head is already checked here, there is no need to
do it in the loop, spamming with smp_load_acquire()'s barriers

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c