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: hide caches sqes from drivers

There is now an io_uring private part of cmd async_data, move saved sqe
into it. Drivers are accessing it via struct io_uring_cmd::cmd.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/ecbe078dd57acefdbc4366d083327086c0879378.1743357121.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Pavel Begunkov and committed by
Jens Axboe
296e1696 487a0710

+3 -3
-1
include/linux/io_uring/cmd.h
··· 21 21 22 22 struct io_uring_cmd_data { 23 23 void *op_data; 24 - struct io_uring_sqe sqes[2]; 25 24 }; 26 25 27 26 static inline const void *io_uring_sqe_cmd(const struct io_uring_sqe *sqe)
+2 -2
io_uring/uring_cmd.c
··· 205 205 * that it doesn't read in per-op data, play it safe and ensure that 206 206 * any SQE data is stable beyond prep. This can later get relaxed. 207 207 */ 208 - memcpy(ac->data.sqes, sqe, uring_sqe_size(req->ctx)); 209 - ioucmd->sqe = ac->data.sqes; 208 + memcpy(ac->sqes, sqe, uring_sqe_size(req->ctx)); 209 + ioucmd->sqe = ac->sqes; 210 210 return 0; 211 211 } 212 212
+1
io_uring/uring_cmd.h
··· 6 6 struct io_async_cmd { 7 7 struct io_uring_cmd_data data; 8 8 struct iou_vec vec; 9 + struct io_uring_sqe sqes[2]; 9 10 }; 10 11 11 12 int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags);