On 3/22/25 09:42, Ming Lei wrote:
On Fri, Mar 21, 2025 at 01:13:23PM -0600, Jens Axboe wrote:
On 3/21/25 12:04 PM, Pavel Begunkov wrote:
Add infrastructure that is going to be used by commands for importing
vectored registered buffers. It can also be reused later for iovec
caching.
v2: clear the vec on first ->async_data allocation
fix a memory leak
Pavel Begunkov (2):
io_uring/cmd: add iovec cache for commands
io_uring/cmd: introduce io_uring_cmd_import_fixed_vec
include/linux/io_uring/cmd.h | 13 ++++++++++++
io_uring/io_uring.c | 5 +++--
io_uring/opdef.c | 1 +
io_uring/uring_cmd.c | 39 +++++++++++++++++++++++++++++++++++-
io_uring/uring_cmd.h | 11 ++++++++++
5 files changed, 66 insertions(+), 3 deletions(-)
This version works for me - adding in Ming, so he can test and
verify as well.
With the two patches, all ublk selftest can run to pass, and kernel doesn't
panic any more.
thanks for testing.
BTW, I meant vectored fix kernel buffer support for FS read/write, which
looks not supported yet.
Right, you can't use do a vectored registered buffer read/write/etc.
with a kernel buffer (ala ublk zc provided one). That will likely
need a special version of io_vec_fill_bvec() that would account
for bvec entries not being uniform in size.
--
Pavel Begunkov