This iteration is against io_uring-big-sqe brach (linux-block). On top of a739b2354 ("io_uring: enable CQE32"). fio testing branch: https://github.com/joshkan/fio/tree/big-cqe-pt.v4 Changes since v3: https://lore.kernel.org/linux-nvme/20220503184831.78705-1-p.raghav@xxxxxxxxxxx/ - Cleaned up placements of new fields in sqe and io_uring_cmd - Removed packed-attribute from nvme_uring_cmd struct - Applied all other Christoph's feedback too - Applied Jens feedback - Collected reviewed-by Changes since v2: https://lore.kernel.org/linux-nvme/20220401110310.611869-1-joshi.k@xxxxxxxxxxx/ - Rewire uring-cmd infrastructure on top of new big CQE - Prep patch (refactored) and feedback from Christoph - Add new opcode and structure in nvme for uring-cmd - Enable vectored-io Changes since v1: https://lore.kernel.org/linux-nvme/20220308152105.309618-1-joshi.k@xxxxxxxxxxx/ - Trim down by removing patches for polling, fixed-buffer and bio-cache - Add big CQE and move uring-cmd to use that - Remove indirect (pointer) submission Anuj Gupta (1): nvme: add vectored-io support for uring-cmd Christoph Hellwig (1): nvme: refactor nvme_submit_user_cmd() Jens Axboe (2): fs,io_uring: add infrastructure for uring-cmd block: wire-up support for passthrough plugging Kanchan Joshi (1): nvme: wire-up uring-cmd support for io-passthru on char-device. block/blk-mq.c | 73 ++++++----- drivers/nvme/host/core.c | 1 + drivers/nvme/host/ioctl.c | 215 +++++++++++++++++++++++++++++++- drivers/nvme/host/multipath.c | 1 + drivers/nvme/host/nvme.h | 5 + fs/io_uring.c | 82 ++++++++++-- include/linux/fs.h | 2 + include/linux/io_uring.h | 27 ++++ include/uapi/linux/io_uring.h | 21 ++-- include/uapi/linux/nvme_ioctl.h | 26 ++++ 10 files changed, 398 insertions(+), 55 deletions(-) -- 2.25.1