xref: /openbmc/linux/Documentation/ABI/testing/sysfs-devices-memory (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1 What:		/sys/devices/system/memory
2 Date:		June 2008
3 Contact:	Badari Pulavarty <pbadari@us.ibm.com>
4 Description:
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.
9 Users:		hotplug memory add/remove tools
10 		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
11 
12 What:		/sys/devices/system/memory/memoryX/removable
13 Date:		June 2008
14 Contact:	Badari Pulavarty <pbadari@us.ibm.com>
15 Description:
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.
20 Users:		hotplug memory remove tools
21 		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
22 		lsmem/chmem part of util-linux
23 
24 What:		/sys/devices/system/memory/memoryX/phys_device
25 Date:		September 2008
26 Contact:	Badari Pulavarty <pbadari@us.ibm.com>
27 Description:
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.
31 Users:		Legacy s390-tools lsmem/chmem
32 
33 What:		/sys/devices/system/memory/memoryX/phys_index
34 Date:		September 2008
35 Contact:	Badari Pulavarty <pbadari@us.ibm.com>
36 Description:
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 
42 What:		/sys/devices/system/memory/memoryX/state
43 Date:		September 2008
44 Contact:	Badari Pulavarty <pbadari@us.ibm.com>
45 Description:
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".
66 Users:		hotplug memory remove tools
67 		http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
68 
69 
70 What:           /sys/devices/system/memory/memoryX/valid_zones
71 Date:           July 2014
72 Contact:	Zhang Zhen <zhenzhang.zhang@huawei.com>
73 Description:
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 
89 What:		/sys/devices/system/memoryX/nodeY
90 Date:		October 2009
91 Contact:	Linux Memory Management list <linux-mm@kvack.org>
92 Description:
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 
102 What:		/sys/devices/system/node/nodeX/memoryY
103 Date:		September 2008
104 Contact:	Gary Hade <garyhade@us.ibm.com>
105 Description:
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 
114 What:		/sys/devices/system/memory/crash_hotplug
115 Date:		Aug 2023
116 Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
117 Description:
118 		(RO) indicates whether or not the kernel directly supports
119 		modifying the crash elfcorehdr for memory hot un/plug and/or
120 		on/offline changes.
121