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>
Tue, 21 Jan 2020 00:03:59 +0000 (17:03 -0700)
commitce35a47a3a0208a77b4d31b7f2e8ed57d624093d
tree903370888177b20dcbeab7e48a0452f696b858c8
parent895e2ca0f693c672902191747b548bdc56f0c7de
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