]> git.ipfire.org Git - thirdparty/linux.git/commit
io_uring/uring_cmd: implement ->sqe_copy() to avoid unnecessary copies
authorJens Axboe <axboe@kernel.dk>
Thu, 5 Jun 2025 17:39:17 +0000 (11:39 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 23 Jun 2025 14:59:13 +0000 (08:59 -0600)
commitecf47d452ced9be162831192fcfb3e9f5cdcde7f
tree4500ed148b99143a3d957692ad45ec9a6d0d38e2
parentead21053bf34941c7c7bf680d29b8d15af5406de
io_uring/uring_cmd: implement ->sqe_copy() to avoid unnecessary copies

uring_cmd currently copies the full SQE at prep time, just in case it
needs it to be stable. However, for inline completions or requests that
get queued up on the device side, there's no need to ever copy the SQE.
This is particularly important, as various use cases of uring_cmd will
be using 128b sized SQEs.

Opt in to using ->sqe_copy() to let the core of io_uring decide when to
copy SQEs. This callback will only be called if it is safe to do so.

Reviewed-by: Caleb Sander Mateos <csander@purestorage.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/opdef.c
io_uring/uring_cmd.c
io_uring/uring_cmd.h