diff options
author | Stefan Roesch <shr@fb.com> | 2022-04-26 20:21:23 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-05-09 14:35:33 +0200 |
commit | 7a51e5b44b92686eebd3e1b46b86e1eb4db975db (patch) | |
tree | f4bc882dcd3c08766186f43e355c043eb30bc93d /include | |
parent | io_uring: add support for 128-byte SQEs (diff) | |
download | linux-7a51e5b44b92686eebd3e1b46b86e1eb4db975db.tar.xz linux-7a51e5b44b92686eebd3e1b46b86e1eb4db975db.zip |
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: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Stefan Roesch <shr@fb.com>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Link: https://lore.kernel.org/r/20220426182134.136504-2-shr@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/io_uring.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index ee84132cadad..ac2d90d669c3 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -126,6 +126,7 @@ enum { #define IORING_SETUP_TASKRUN_FLAG (1U << 9) #define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */ +#define IORING_SETUP_CQE32 (1U << 11) /* CQEs are 32 byte */ enum io_uring_op { IORING_OP_NOP, @@ -245,6 +246,12 @@ struct io_uring_cqe { __u64 user_data; /* sqe->data submission passed back */ __s32 res; /* result code for this event */ __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[]; }; /* |