xref: /linux/Documentation/ABI/testing/sysfs-devices-memory (revision f8bade6c9a6213c2c5ba6e5bf32415ecab6e41e5)
1What:		/sys/devices/system/memory
2Date:		June 2008
3Contact:	Badari Pulavarty <pbadari@us.ibm.com>
4Description:
5		The /sys/devices/system/memory contains a snapshot of the
6		internal state of the kernel memory blocks. Files could be
7		added or removed dynamically to represent hot-add/remove
8		operations.
9Users:		hotplug memory add/remove tools
10		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
11
12What:		/sys/devices/system/memory/memoryX/removable
13Date:		June 2008
14Contact:	Badari Pulavarty <pbadari@us.ibm.com>
15Description:
16		The file /sys/devices/system/memory/memoryX/removable is a
17		legacy interface used to indicated whether a memory block is
18		likely to be offlineable or not.  Newer kernel versions return
19		"1" if and only if the kernel supports memory offlining.
20Users:		hotplug memory remove tools
21		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
22		lsmem/chmem part of util-linux
23
24What:		/sys/devices/system/memory/memoryX/phys_device
25Date:		September 2008
26Contact:	Badari Pulavarty <pbadari@us.ibm.com>
27Description:
28		The file /sys/devices/system/memory/memoryX/phys_device
29		is read-only;  it is a legacy interface only ever used on s390x
30		to expose the covered storage increment.
31Users:		Legacy s390-tools lsmem/chmem
32
33What:		/sys/devices/system/memory/memoryX/phys_index
34Date:		September 2008
35Contact:	Badari Pulavarty <pbadari@us.ibm.com>
36Description:
37		The file /sys/devices/system/memory/memoryX/phys_index
38		is read-only and contains the section ID in hexadecimal
39		which is equivalent to decimal X contained in the
40		memory section directory name.
41
42What:		/sys/devices/system/memory/memoryX/state
43Date:		September 2008
44Contact:	Badari Pulavarty <pbadari@us.ibm.com>
45Description:
46		The file /sys/devices/system/memory/memoryX/state
47		is read-write.  When read, it returns the online/offline
48		state of the memory block.  When written, root can toggle
49		the online/offline state of a memory block using the following
50		commands::
51
52		  # echo online > /sys/devices/system/memory/memoryX/state
53		  # echo offline > /sys/devices/system/memory/memoryX/state
54
55		On newer kernel versions, advanced states can be specified
56		when onlining to select a target zone: "online_movable"
57		selects the movable zone.  "online_kernel" selects the
58		applicable kernel zone (DMA, DMA32, or Normal).  However,
59		after successfully setting one of the advanced states,
60		reading the file will return "online"; the zone information
61		can be obtained via "valid_zones" instead.
62
63		While onlining is unlikely to fail, there are no guarantees
64		that offlining will succeed.  Offlining is more likely to
65		succeed if "valid_zones" indicates "Movable".
66Users:		hotplug memory remove tools
67		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
68
69
70What:           /sys/devices/system/memory/memoryX/valid_zones
71Date:           July 2014
72Contact:	Zhang Zhen <zhenzhang.zhang@huawei.com>
73Description:
74		The file /sys/devices/system/memory/memoryX/valid_zones	is
75		read-only.
76
77		For online memory blocks, it returns in which zone memory
78		provided by a memory block is managed.  If multiple zones
79		apply (not applicable for hotplugged memory), "None" is returned
80		and the memory block cannot be offlined.
81
82		For offline memory blocks, it returns by which zone memory
83		provided by a memory block can be managed when onlining.
84		The first returned zone ("default") will be used when setting
85		the state of an offline memory block to "online".  Only one of
86		the kernel zones (DMA, DMA32, Normal) is applicable for a single
87		memory block.
88
89What:		/sys/devices/system/memoryX/nodeY
90Date:		October 2009
91Contact:	Linux Memory Management list <linux-mm@kvack.org>
92Description:
93		When CONFIG_NUMA is enabled, a symbolic link that
94		points to the corresponding NUMA node directory.
95
96		For example, the following symbolic link is created for
97		memory section 9 on node0:
98
99		/sys/devices/system/memory/memory9/node0 -> ../../node/node0
100
101
102What:		/sys/devices/system/node/nodeX/memoryY
103Date:		September 2008
104Contact:	Gary Hade <garyhade@us.ibm.com>
105Description:
106		When CONFIG_NUMA is enabled
107		/sys/devices/system/node/nodeX/memoryY is a symbolic link that
108		points to the corresponding /sys/devices/system/memory/memoryY
109		memory section directory.  For example, the following symbolic
110		link is created for memory section 9 on node0.
111
112		/sys/devices/system/node/node0/memory9 -> ../../memory/memory9
113