This adds the big_cqe array to the struct io_uring_cqe to support large CQE's.
Showing the changes to include/uapi (1 of 1 file). Show all
Unified · Split
| @@ -126,6 +126,7 @@ enum { · 125 unmodified lines | ||
| 126 | 126 | #define IORING_SETUP_TASKRUN_FLAG (1U << 9) |
| 127 | 127 | |
| 128 | 128 | #define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */ |
| 129 | +#define IORING_SETUP_CQE32 (1U << 11) /* CQEs are 32 byte */ | |
| 129 | 130 | |
| 130 | 131 | enum io_uring_op { |
| 131 | 132 | IORING_OP_NOP, |
| @@ -245,6 +246,12 @@ struct io_uring_cqe { · 113 unmodified lines | ||
| 245 | 246 | __u64 user_data; /* sqe->data submission passed back */ |
| 246 | 247 | __s32 res; /* result code for this event */ |
| 247 | 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 | /* |