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 | #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 | ||
| 130 | enum io_uring_op { | 131 | enum 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 | /* |