io_uring: add IOSQE_ASYNC
authorJens Axboe <axboe@kernel.dk>
Tue, 17 Dec 2019 15:04:44 +0000 (08:04 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 28 Dec 2019 19:02:36 +0000 (12:02 -0700)
commit0e2b16713691b9f1d6eadd1dd4cc7d96a12f7cd9
tree3a7541b34650dc265e239a8e0405aeef9a4a8f05
parentb141c9c8c5e034cf4619109247e4f3eb39faeab7
io_uring: add IOSQE_ASYNC

io_uring defaults to always doing inline submissions, if at all
possible. But for larger copies, even if the data is fully cached, that
can take a long time. Add an IOSQE_ASYNC flag that the application can
set on the SQE - if set, it'll ensure that we always go async for those
kinds of requests. Use the io-wq IO_WQ_WORK_CONCURRENT flag to ensure we
get the concurrency we desire for this case.

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