[PATCH v6 13/13] mm/demotion: Add sysfs ABI documentation

Aneesh Kumar K.V
2022-06-10T13:57:02Z

Add sysfs ABI documentation.

Signed-off-by: Wei Xu <weixugc@google.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
.../ABI/testing/sysfs-kernel-mm-memory-tiers | 87 +++++++++++++++++++
1 file changed, 87 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..b41d2977b0a5
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-memory-tiers
@@ -0,0 +1,87 @@
+What: /sys/devices/system/memtier/
+Date: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+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: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Default memory tier
+
+ 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: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Maximum number of memory tiers supported
+
+ The max memory tier device ID we can create. Users can create memory
+ tiers in range [0 - max_tier)
+
+What: /sys/devices/system/memtier/create_tier_from_rank
+Date: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Interface to create memory tiers from userspace
+
+ Writing to this file with a rank value results in creation of
+ a new memory tier with the specified rank value. This is used
+ by userspace to create new memory tiers.
+
+What: /sys/devices/system/memtier/memtierN/
+Date: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Directory with details of a specific memory tier
+
+ 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: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Memory tier rank value
+
+
+ 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: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Memory tier nodelist
+
+
+ When read, list the memory nodes in the specified tier.
+
+What: /sys/devices/system/node/nodeN/memtier
+Date: June 2022
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Memory tier details for node N
+
+ 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.
--
2.36.1