• Jens Axboe's avatar
    io_uring: extend async work merging · 6d5d5ac5
    Jens Axboe authored
    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: default avatarJeff Moyer <jmoyer@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    6d5d5ac5
io_uring.c 88.5 KB