[PATCH v6 0/2] nvme-tcp: allow setting per-queue io_cpu through sysfs

From: Saravanan D

Date: Fri Oct 23 2026 - 19:04:46 EST


On hosts that partition their CPUs after connect time, the connect
time io_cpu selection can place a queue's socket work on CPUs owned by
another workload. This series lets a control plane set each queue's
io_cpu through /sys/class/nvme/nvmeX/queues/<qid>/. Patch 1 adds the
core helpers, patch 2 the nvme-tcp attributes.

Changes since v5 [1]:
- The queue directory is added once the io_cpu selection has run, so
readers never see a placement that is about to change (Sashiko).
- Rebased onto nvme-7.4, and the ABI entry targets 7.5.

managed stays per queue, as discussed in [1]. A blktests patch,
nvme/075, covers the interface and follows in this thread.

[1] https://lore.kernel.org/linux-nvme/20261018010059.83120-1-saravanand@xxxxxxxxx/

Saravanan D (2):
nvme: add per-queue sysfs directories
nvme-tcp: allow setting per-queue io_cpu through sysfs

Documentation/ABI/stable/sysfs-nvme | 31 +++++
drivers/nvme/host/core.c | 6 +
drivers/nvme/host/nvme.h | 23 ++++
drivers/nvme/host/sysfs.c | 88 ++++++++++++++
drivers/nvme/host/tcp.c | 172 ++++++++++++++++++++++++----
5 files changed, 300 insertions(+), 20 deletions(-)


base-commit: aaedcff9014876387504a8b92d227766cb95015c
--
2.55.0