[PATCH v4 3/3] nvme: document the service-time iopolicy sysfs attributes
Guixin Liu
kanie at linux.alibaba.com
Mon Oct 26 04:10:18 PDT 2026
The service-time iopolicy adds two sysfs attributes to the NVMe path
namespace devices: in_flight_bytes, reporting the bytes currently in
flight on the path's controller, and relative_throughput, the
per-path throughput weight used by the service-time estimation.
Document both in the stable sysfs ABI, including the 0-100 value
range, the default of 1, and the standby semantics of a
relative_throughput of 0. Also add "service-time" to the accepted
values of the subsystem iopolicy attribute and to the policies
listed by the iopolicies attribute.
Signed-off-by: Guixin Liu <kanie at linux.alibaba.com>
---
Documentation/ABI/stable/sysfs-nvme | 35 ++++++++++++++++++++++++-----
1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/Documentation/ABI/stable/sysfs-nvme b/Documentation/ABI/stable/sysfs-nvme
index 9291595f8102f..9a682d66a3ec2 100644
--- a/Documentation/ABI/stable/sysfs-nvme
+++ b/Documentation/ABI/stable/sysfs-nvme
@@ -347,6 +347,28 @@ Description:
Requires CONFIG_NVME_MULTIPATH.
+What: /sys/block/nvmeXcYnZ/in_flight_bytes
+What: /sys/block/nvmeXcYnZ/relative_throughput
+Date: October 2026
+KernelVersion: 7.5
+Contact: Guixin Liu <kanie at linux.alibaba.com>
+Description:
+ in_flight_bytes: Shows the number of bytes currently in
+ flight on this path's controller. Returns empty if
+ iopolicy is not "service-time".
+ Requires CONFIG_NVME_MULTIPATH.
+
+ relative_throughput: Shows or sets the relative
+ throughput weight of this path's controller, which the
+ "service-time" iopolicy uses to estimate the path service
+ time as in_flight_bytes / relative_throughput. The value is
+ an integer in the range 0-100 and defaults to 1; assign
+ higher values to faster paths. A path with a value of 0 is
+ only selected when no path with a positive value is
+ available. Reading returns empty if iopolicy is not
+ "service-time"; writing is accepted regardless of the
+ active policy. Requires CONFIG_NVME_MULTIPATH.
+
What: /sys/block/nvmeXnY/delayed_removal_secs
Date: May 2025
KernelVersion: 6.16
@@ -477,9 +499,9 @@ Contact: Hannes Reinecke <hare at suse.de>
Description:
Shows or sets the multipath I/O path selection policy for
this subsystem. Accepted values: "numa", "round-robin",
- "queue-depth". Changing the policy clears all current path
- selections. Only available when CONFIG_NVME_MULTIPATH is
- enabled.
+ "queue-depth", "service-time". Changing the policy clears
+ all current path selections. Only available when
+ CONFIG_NVME_MULTIPATH is enabled.
A discovery subsystem has no namespaces and hence no I/O
paths to select from: reading returns "none" and writing
@@ -492,9 +514,10 @@ Contact: Laurence Oberman <loberman at redhat.com>
Description:
Shows the I/O path selection policies that may be written
to the iopolicy attribute of this subsystem, separated by
- spaces: "numa round-robin queue-depth". A discovery
- subsystem accepts no policy at all and reports "none".
- Only available when CONFIG_NVME_MULTIPATH is enabled.
+ spaces: "numa round-robin queue-depth service-time". A
+ discovery subsystem accepts no policy at all and reports
+ "none". Only available when CONFIG_NVME_MULTIPATH is
+ enabled.
What: /sys/class/nvme-subsystem/nvme-subsysX/subsystype
Date: September 2021
--
2.43.7
More information about the Linux-nvme
mailing list