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

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.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ebdeb7c0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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[];
};

/*