[PATCH v7 0/2] nvme-tcp: allow setting per-queue io_cpu through sysfs
Saravanan D
saravanand at crusoe.ai
Wed Nov 4 06:06:28 PST 2026
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 v6 [1]:
- nvme-core now owns the queues directory. A transport lists its queue
attributes in the new queue_attr_groups member of struct
nvme_ctrl_ops, nvme_add_ctrl() creates the directory for it, and
nvme_uninit_ctrl() removes it through the new
nvme_queue_dir_destroy() helper (Nilay).
- Rebased onto the current nvme-7.4.
A blktests patch, nvme/077, covers the interface and follows in this
thread.
[1] https://lore.kernel.org/linux-nvme/20261023230426.6425-1-saravanand@crusoe.ai/
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 | 12 ++
drivers/nvme/host/nvme.h | 25 +++++
drivers/nvme/host/sysfs.c | 88 +++++++++++++++
drivers/nvme/host/tcp.c | 167 ++++++++++++++++++++++++----
5 files changed, 303 insertions(+), 20 deletions(-)
base-commit: ca7e6a9a693240f059a0b47726f64a3f0573011a
--
2.56.0
More information about the Linux-nvme
mailing list