Hi, Currently uring-cmd lacks the ability to leverage the pre-registered buffers. This series adds that support in uring-cmd, and plumbs nvme passthrough to work with it. Using registered-buffers showed IOPS hike from 1.9M to 2.2M to me. Patch 1, 3 = prep/infrastructure Patch 2 = expand io_uring command to use registered-buffers Patch 4 = expand nvme passthrough to use registered-buffers Changes since v3: - uring_cmd_flags, change from u16 to u32 (Jens) - patch 3, add another helper to reduce code-duplication (Jens) Changes since v2: - Kill the new opcode, add a flag instead (Pavel) - Fix standalone build issue with patch 1 (Pavel) Changes since v1: - Fix a naming issue for an exported helper Anuj Gupta (2): io_uring: introduce io_uring_cmd_import_fixed io_uring: introduce fixed buffer support for io_uring_cmd Kanchan Joshi (2): block: add helper to map bvec iterator for passthrough nvme: wire up fixed buffer support for nvme passthrough block/blk-map.c | 94 +++++++++++++++++++++++++++++++---- drivers/nvme/host/ioctl.c | 38 +++++++++----- include/linux/blk-mq.h | 1 + include/linux/io_uring.h | 11 +++- include/uapi/linux/io_uring.h | 9 ++++ io_uring/uring_cmd.c | 29 ++++++++++- 6 files changed, 158 insertions(+), 24 deletions(-) -- 2.25.1