io_uring: support for IO polling
authorJens Axboe <axboe@kernel.dk>
Wed, 9 Jan 2019 15:59:42 +0000 (08:59 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 28 Feb 2019 15:24:23 +0000 (08:24 -0700)
commitdef596e9557c91d9846fc4d84d26f2c564644416
tree1d11084da1199e419c25018efb8b0490fc4f3d7a
parentc992fe2925d776be066d9f6cc13f9ea11d78b657
io_uring: support for IO polling

Add support for a polled io_uring instance. When a read or write is
submitted to a polled io_uring, the application must poll for
completions on the CQ ring through io_uring_enter(2). Polled IO may not
generate IRQ completions, hence they need to be actively found by the
application itself.

To use polling, io_uring_setup() must be used with the
IORING_SETUP_IOPOLL flag being set. It is illegal to mix and match
polled and non-polled IO on an io_uring.

Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h