Commit 7a51e5b4 authored by Stefan Roesch's avatar Stefan Roesch Committed by Jens Axboe

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.
Co-developed-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarStefan Roesch <shr@fb.com>
Reviewed-by: default avatarKanchan Joshi <joshi.k@samsung.com>
Link: https://lore.kernel.org/r/20220426182134.136504-2-shr@fb.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ebdeb7c0
...@@ -126,6 +126,7 @@ enum { ...@@ -126,6 +126,7 @@ enum {
#define IORING_SETUP_TASKRUN_FLAG (1U << 9) #define IORING_SETUP_TASKRUN_FLAG (1U << 9)
#define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */ #define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */
#define IORING_SETUP_CQE32 (1U << 11) /* CQEs are 32 byte */
enum io_uring_op { enum io_uring_op {
IORING_OP_NOP, IORING_OP_NOP,
...@@ -245,6 +246,12 @@ struct io_uring_cqe { ...@@ -245,6 +246,12 @@ struct io_uring_cqe {
__u64 user_data; /* sqe->data submission passed back */ __u64 user_data; /* sqe->data submission passed back */
__s32 res; /* result code for this event */ __s32 res; /* result code for this event */
__u32 flags; __u32 flags;
/*
* If the ring is initialized with IORING_SETUP_CQE32, then this field
* contains 16-bytes of padding, doubling the size of the CQE.
*/
__u64 big_cqe[];
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment