X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os%2Fio_uring.h;h=20e4c22e040d6023bef78e64cafca8694c629733;hp=7dd21126f142c5c856d85f67fc3d5340b035828f;hb=f0403f9416d88bc19ed85504c6c9376da07ddf86;hpb=b08e7d6b18b4a38f61800e7553cd5e5d282da4a8 diff --git a/os/io_uring.h b/os/io_uring.h index 7dd21126..20e4c22e 100644 --- a/os/io_uring.h +++ b/os/io_uring.h @@ -12,9 +12,9 @@ #include /* - * IO submission data structure + * IO submission data structure (Submission Queue Entry) */ -struct io_uring_iocb { +struct io_uring_sqe { __u8 opcode; __u8 flags; __u16 ioprio; @@ -35,23 +35,22 @@ struct io_uring_iocb { * io_uring_setup() flags */ #define IORING_SETUP_IOPOLL (1 << 0) /* io_context is polled */ -#define IORING_SETUP_FIXEDBUFS (1 << 1) /* IO buffers are fixed */ -#define IORING_SETUP_SQTHREAD (1 << 2) /* Use SQ thread */ -#define IORING_SETUP_SQWQ (1 << 3) /* Use SQ workqueue */ -#define IORING_SETUP_SQPOLL (1 << 4) /* SQ thread polls */ +#define IORING_SETUP_SQTHREAD (1 << 1) /* Use SQ thread */ +#define IORING_SETUP_SQWQ (1 << 2) /* Use SQ workqueue */ +#define IORING_SETUP_SQPOLL (1 << 3) /* SQ thread polls */ -#define IORING_OP_READ 1 -#define IORING_OP_WRITE 2 +#define IORING_OP_READV 1 +#define IORING_OP_WRITEV 2 #define IORING_OP_FSYNC 3 #define IORING_OP_FDSYNC 4 #define IORING_OP_READ_FIXED 5 #define IORING_OP_WRITE_FIXED 6 /* - * IO completion data structure + * IO completion data structure (Completion Queue Entry) */ -struct io_uring_event { - __u64 index; /* what iocb this event came from */ +struct io_uring_cqe { + __u64 index; /* what sqe this event came from */ __s32 res; /* result code for this event */ __u32 flags; }; @@ -59,14 +58,14 @@ struct io_uring_event { /* * io_uring_event->flags */ -#define IOEV_FLAG_CACHEHIT (1 << 0) /* IO did not hit media */ +#define IOCQE_FLAG_CACHEHIT (1 << 0) /* IO did not hit media */ /* * Magic offsets for the application to mmap the data it needs */ #define IORING_OFF_SQ_RING 0ULL #define IORING_OFF_CQ_RING 0x8000000ULL -#define IORING_OFF_IOCB 0x10000000ULL +#define IORING_OFF_SQES 0x10000000ULL /* * Filled with the offset for mmap(2) @@ -90,7 +89,7 @@ struct io_cqring_offsets { __u32 ring_mask; __u32 ring_entries; __u32 overflow; - __u32 events; + __u32 cqes; __u32 resv[4]; };