So this is a trimmed-down series primarily to test the waters with 32-byte CQE (patch 4). This big-cqe is created by combining two adjacent 16b CQEs. And that is done when ring is setup with IORING_SETUP_CQE32 flag. nvme-passthru sends one result to bigcqe->res and another result (8 bytes) gets updated to bigcqe->res2. As always, fio is modified to test the interface: https://github.com/joshkan/fio/tree/big-cqe Limited testing ATM, as plumbing itself is in early stage with patch 4. Patches are against for-next (linux-block), on top of 9e9d83faa ("io_uring: Remove unneeded test in io_run_task_work_sig") Jens Axboe (3): io_uring: add support for 128-byte SQEs fs: add file_operations->async_cmd() io_uring: add infra and support for IORING_OP_URING_CMD Kanchan Joshi (2): io_uring: add support for big-cqe nvme: wire-up support for async-passthru on char-device. drivers/nvme/host/core.c | 1 + drivers/nvme/host/ioctl.c | 187 ++++++++++++++++++++++++++++------ drivers/nvme/host/multipath.c | 1 + drivers/nvme/host/nvme.h | 3 + fs/io_uring.c | 168 ++++++++++++++++++++++++++---- include/linux/fs.h | 2 + include/linux/io_uring.h | 33 ++++++ include/uapi/linux/io_uring.h | 26 ++++- 8 files changed, 369 insertions(+), 52 deletions(-) -- 2.25.1