[RFC 0/5] big-cqe based uring-passthru
Kanchan Joshi
joshi.k at samsung.com
Fri Apr 1 04:03:05 PDT 2022
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
More information about the Linux-nvme
mailing list