]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: extend async work merging
authorJens Axboe <axboe@kernel.dk>
Wed, 11 Sep 2019 16:16:13 +0000 (10:16 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 12 Sep 2019 20:18:48 +0000 (14:18 -0600)
commitb1e4c377de8f6b1efc4971422992d18271d71cd0
tree219790d3cf1df83a183aa757c016c7731dd236f4
parentf446977c4866618ec35791798f2f98619e6c1ea9
io_uring: extend async work merging

We currently merge async work items if we see a strict sequential hit.
This helps avoid unnecessary workqueue switches when we don't need
them. We can extend this merging to cover cases where it's not a strict
sequential hit, but the IO still fits within the same page. If an
application is doing multiple requests within the same page, we don't
want separate workers waiting on the same page to complete IO. It's much
faster to let the first worker bring in the page, then operate on that
page from the same worker to complete the next request(s).

Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c