Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

io_uring/uring_cmd: add support for IORING_SETUP_CQE_MIXED

Certain users of uring_cmd currently require fixed 32b CQE support,
which is propagated through IO_URING_F_CQE32. Allow
IORING_SETUP_CQE_MIXED to cover that case as well, so not all CQEs
posted need to be 32b in size.

Signed-off-by: Jens Axboe <axboe@kernel.dk>

+3 -2
+2 -1
io_uring/cmd_net.c
··· 4 4 #include <net/sock.h> 5 5 6 6 #include "uring_cmd.h" 7 + #include "io_uring.h" 7 8 8 9 static inline int io_uring_cmd_getsockopt(struct socket *sock, 9 10 struct io_uring_cmd *cmd, ··· 74 73 75 74 cqe->user_data = 0; 76 75 cqe->res = tskey; 77 - cqe->flags = IORING_CQE_F_MORE; 76 + cqe->flags = IORING_CQE_F_MORE | ctx_cqe32_flags(cmd_to_io_kiocb(cmd)->ctx); 78 77 cqe->flags |= tstype << IORING_TIMESTAMP_TYPE_SHIFT; 79 78 if (ret == SOF_TIMESTAMPING_TX_HARDWARE) 80 79 cqe->flags |= IORING_CQE_F_TSTAMP_HW;
+1 -1
io_uring/uring_cmd.c
··· 242 242 243 243 if (ctx->flags & IORING_SETUP_SQE128) 244 244 issue_flags |= IO_URING_F_SQE128; 245 - if (ctx->flags & IORING_SETUP_CQE32) 245 + if (ctx->flags & (IORING_SETUP_CQE32 | IORING_SETUP_CQE_MIXED)) 246 246 issue_flags |= IO_URING_F_CQE32; 247 247 if (io_is_compat(ctx)) 248 248 issue_flags |= IO_URING_F_COMPAT;