[PATCH] mm/demotion: Add sysfs ABI documentation

From: Aneesh Kumar K.V
Date: Mon Jun 06 2022 - 00:44:17 EST


Add sysfs ABI documentation.

Suggested-by: Wei Xu <weixugc@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx>
---
.../ABI/testing/sysfs-kernel-mm-memory-tiers | 81 +++++++++++++++++++
1 file changed, 81 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-kernel-mm-memory-tiers

diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-memory-tiers b/Documentation/ABI/testing/sysfs-kernel-mm-memory-tiers
new file mode 100644
index 000000000000..41b0d1756ddb
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-memory-tiers
@@ -0,0 +1,81 @@
+What: /sys/devices/system/memtier/
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+ This is the directory containing the information about memory tiers.
+
+ Each memory tier has its own subdirectory.
+
+ The order of memory tiers is determined by their rank values, not by
+ their memtier device names. A higher rank value means a higher tier.
+
+What: /sys/devices/system/memtier/default_tier
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+ The default memory tier to which memory would get added via hotplug
+ if the NUMA node is not part of any memory tier.
+
+What: /sys/devices/system/memtier/max_tier
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+ The max memory tier device ID we can create. Users can create memory
+ tiers in range [0 - max_tier)
+
+What: /sys/devices/system/memtier/memtierN/
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+ This is the directory containing the information about a particular
+ memory tier, memtierN, where N is the memtier device ID (e.g. 0, 1).
+
+ The memtier device ID number itself is just an identifier and has no
+ special meaning, i.e. memtier device ID numbers do not determine the
+ order of memory tiers.
+
+What: /sys/devices/system/memtier/memtierN/rank
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+
+ When read, list the "rank" value associated with memtierN.
+
+ "Rank" is an opaque value. Its absolute value doesn't have any
+ special meaning. But the rank values of different memtiers can be
+ compared with each other to determine the memory tier order.
+
+ For example, if we have 3 memtiers: memtier0, memtier1, memiter2, and
+ their rank values are 100, 10, 50, then the memory tier order is:
+ memtier0 -> memtier2 -> memtier1, where memtier0 is the highest tier
+ and memtier1 is the lowest tier.
+
+ The rank value of each memtier should be unique.
+
+What: /sys/devices/system/memtier/memtierN/nodelist
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+
+ When read, list the memory nodes in the specified tier.
+
+What: /sys/devices/system/node/nodeN/memtier
+Date: Jun 2022
+Contact: Linux memory management mailing list <linux-mm@xxxxxxxxx>
+Description: Interface for tiered memory
+
+ When read, list the device ID of the memory tier that the node belongs
+ to. Its value is empty for a CPU-only NUMA node.
+
+ When written, the kernel moves the node into the specified memory
+ tier if the move is allowed. The tier assignments of all other
+ nodes are not affected.
+
+ When written with the special string "none" the specific node is removed
+ from participating in memory demotion.
--
2.36.1