[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