Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-devices-memory
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