]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: improve poll completion performance
authorJens Axboe <axboe@kernel.dk>
Thu, 19 Dec 2019 19:06:02 +0000 (12:06 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 21 Jan 2020 00:03:59 +0000 (17:03 -0700)
commite816c5ac4ce4dfbe6a8096cb837980c266490690
treea2dbf2db8721c44c10007d707fbc5794b35eb424
parenta17b3764c6b861b5c234779809a0ce5dd7f349b5
io_uring: improve poll completion performance

For busy IORING_OP_POLL_ADD workloads, we can have enough contention
on the completion lock that we fail the inline completion path quite
often as we fail the trylock on that lock. Add a list for deferred
completions that we can use in that case. This helps reduce the number
of async offloads we have to do, as if we get multiple completions in
a row, we'll piggy back on to the poll_llist instead of having to queue
our own offload.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c