History

io_uring: support CQE32 in io_uring_cqe

This adds the big_cqe array to the struct io_uring_cqe to support large CQE's.

Stefan Roesch committed 4 years ago

Commit 7a51e5b1 parent ebdeb7c1 file · +7 −0Browse files

Showing the changes to include/uapi (1 of 1 file). Show all

Unified · Split

include/uapi/linux/io_uring.h+7−0
@@ -126,6 +126,7 @@ enum { · 125 unmodified lines
126#define IORING_SETUP_TASKRUN_FLAG (1U << 9)126#define IORING_SETUP_TASKRUN_FLAG (1U << 9)
127 127
128#define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */128#define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */
129#define IORING_SETUP_CQE32 (1U << 11) /* CQEs are 32 byte */
129 130
130enum io_uring_op {131enum io_uring_op {
131 IORING_OP_NOP,132 IORING_OP_NOP,
@@ -245,6 +246,12 @@ struct io_uring_cqe { · 113 unmodified lines
245 __u64 user_data; /* sqe->data submission passed back */246 __u64 user_data; /* sqe->data submission passed back */
246 __s32 res; /* result code for this event */247 __s32 res; /* result code for this event */
247 __u32 flags;248 __u32 flags;
249
250 /*
251 * If the ring is initialized with IORING_SETUP_CQE32, then this field
252 * contains 16-bytes of padding, doubling the size of the CQE.
253 */
254 __u64 big_cqe[];
248};255};
249 256
250/*257/*