[PATCH V2 0/2] nvme: optimize passthrough IOPOLL completion for local ring context

Ming Lei ming.lei at redhat.com
Thu Jan 15 23:46:36 PST 2026


Hello,

The 1st patch passes `struct io_comp_batch *` to rq_end_io_fn callback.

The 2nd patch completes IOPOLL uring_cmd inline in case of local ring
context, and improves IOPS by ~10%.


V2:
	- pass `struct io_comp_batch *` to ->end_io() directly via
	  blk_mq_end_request_batch().

Ming Lei (2):
  block: pass io_comp_batch to rq_end_io_fn callback
  nvme/io_uring: optimize IOPOLL completions for local ring context

 block/blk-flush.c                  |  6 ++++--
 block/blk-mq.c                     |  9 +++++----
 drivers/md/dm-rq.c                 |  3 ++-
 drivers/nvme/host/core.c           |  3 ++-
 drivers/nvme/host/ioctl.c          | 23 +++++++++++++++--------
 drivers/nvme/host/pci.c            | 11 +++++++----
 drivers/nvme/target/passthru.c     |  3 ++-
 drivers/scsi/scsi_error.c          |  3 ++-
 drivers/scsi/sg.c                  |  6 ++++--
 drivers/scsi/st.c                  |  3 ++-
 drivers/target/target_core_pscsi.c |  6 ++++--
 include/linux/blk-mq.h             |  4 +++-
 include/linux/blkdev.h             |  1 +
 io_uring/rw.c                      |  6 ++++++
 14 files changed, 59 insertions(+), 28 deletions(-)

-- 
2.47.0




More information about the Linux-nvme mailing list