History

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.

Jens Axboe committed 7 years ago

Commit def596e1 parent c992fe22 files · +271 −9Browse files

Showing the changes to include/uapi/linux (1 of 2 files). Show all

Unified · Split

include/uapi/linux/io_uring.h+5−0
@@ -30,6 +30,11 @@ struct io_uring_sqe { · 29 unmodified lines
30 __u64 __pad2[3];30 __u64 __pad2[3];
31};31};
32 32
33/*
34 * io_uring_setup() flags
35 */
36#define IORING_SETUP_IOPOLL (1U << 0) /* io_context is polled */
37
33#define IORING_OP_NOP 038#define IORING_OP_NOP 0
34#define IORING_OP_READV 139#define IORING_OP_READV 1
35#define IORING_OP_WRITEV 240#define IORING_OP_WRITEV 2