1
v4: updated KConfig comments
2
1
Memory hotplug presently auto-onlines memory into a zone the kernel
3
Memory hotplug presently auto-onlines memory into a zone the kernel
2
deems appropriate if CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y.
4
deems appropriate if CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y.
3
5
4
The memhp_default_state boot param enables runtime config, but it's
6
The memhp_default_state boot param enables runtime config, but it's
5
not possible to do this at build-time.
7
not possible to do this at build-time.
...
...
32
34
33
Existing users of CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y should use
35
Existing users of CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y should use
34
CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_AUTO.
36
CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_AUTO.
35
37
36
Signed-off-by: Gregory Price <gourry@gourry.net>
38
Signed-off-by: Gregory Price <gourry@gourry.net>
39
Acked-by: David Hildenbrand <david@redhat.com>
37
---
40
---
38
.../admin-guide/kernel-parameters.txt | 4 +-
41
.../admin-guide/kernel-parameters.txt | 4 +-
39
.../admin-guide/mm/memory-hotplug.rst | 4 +-
42
.../admin-guide/mm/memory-hotplug.rst | 4 +-
40
arch/loongarch/configs/loongson3_defconfig | 5 +-
43
arch/loongarch/configs/loongson3_defconfig | 5 +-
41
drivers/base/memory.c | 4 +-
44
drivers/base/memory.c | 4 +-
...
...
148
-    depends on MEMORY_HOTPLUG
151
-    depends on MEMORY_HOTPLUG
149
+choice
152
+choice
150
+    prompt "Memory Hotplug Default Online Type"
153
+    prompt "Memory Hotplug Default Online Type"
151
+    default MHP_DEFAULT_ONLINE_TYPE_OFFLINE
154
+    default MHP_DEFAULT_ONLINE_TYPE_OFFLINE
152
    help
155
    help
153
+     Default memory type for driver managed hotplug memory.
156
+     Default memory type for hotplugged memory.
154
+
157
+
155
     This option sets the default policy setting for memory hotplug
158
     This option sets the default policy setting for memory hotplug
156
     onlining policy (/sys/devices/system/memory/auto_online_blocks) which
159
     onlining policy (/sys/devices/system/memory/auto_online_blocks) which
157
     determines what happens to newly added memory regions. Policy setting
160
     determines what happens to newly added memory regions. Policy setting
158
     can always be changed at runtime.
161
     can always be changed at runtime.
...
...
173
-     Say N here if you want the default policy to keep all hot-plugged
176
-     Say N here if you want the default policy to keep all hot-plugged
174
-     memory blocks in 'offline' state.
177
-     memory blocks in 'offline' state.
175
+config MHP_DEFAULT_ONLINE_TYPE_OFFLINE
178
+config MHP_DEFAULT_ONLINE_TYPE_OFFLINE
176
+    bool "offline"
179
+    bool "offline"
177
+    help
180
+    help
178
+     Driver managed memory will not be onlined by default.
181
+     Hotplugged memory will not be onlined by default.
179
+     Choose this for systems with drivers and user policy that
182
+     Choose this for systems with drivers and user policy that
180
+     handle onlining of hotplug memory policy.
183
+     handle onlining of hotplug memory policy.
181
+
184
+
182
+config MHP_DEFAULT_ONLINE_TYPE_ONLINE_AUTO
185
+config MHP_DEFAULT_ONLINE_TYPE_ONLINE_AUTO
183
+    bool "auto"
186
+    bool "auto"
184
+    help
187
+    help
185
+     Select this if you want the kernel to automatically online
188
+     Select this if you want the kernel to automatically online
186
+     memory into the zone it thinks is reasonable. This memory
189
+     hotplugged memory into the zone it thinks is reasonable.
187
+     may be utilized for kernel data (e.g. page tables).
190
+     This memory may be utilized for kernel data.
188
+
191
+
189
+config MHP_DEFAULT_ONLINE_TYPE_ONLINE_KERNEL
192
+config MHP_DEFAULT_ONLINE_TYPE_ONLINE_KERNEL
190
+    bool "kernel"
193
+    bool "kernel"
191
+    help
194
+    help
192
+     Select this if you want the kernel to automatically online
195
+     Select this if you want the kernel to automatically online
193
+     hotplug memory into a zone capable of being used for kernel
196
+     hotplugged memory into a zone capable of being used for kernel
194
+     data (e.g. page tables). This typically means ZONE_NORMAL.
197
+     data. This typically means ZONE_NORMAL.
195
+
198
+
196
+config MHP_DEFAULT_ONLINE_TYPE_ONLINE_MOVABLE
199
+config MHP_DEFAULT_ONLINE_TYPE_ONLINE_MOVABLE
197
+    bool "movable"
200
+    bool "movable"
198
+    help
201
+    help
199
+     Select this if you want the kernel to automatically online
202
+     Select this if you want the kernel to automatically online
200
+     hotplug memory into ZONE_MOVABLE. This memory will generally
203
+     hotplug memory into ZONE_MOVABLE. This memory will generally
201
+     not be utilized for kernel data (e.g. page tables).
204
+     not be utilized for kernel data.
202
+
205
+
203
+     This should only be used when the admin knows sufficient
206
+     This should only be used when the admin knows sufficient
204
+     ZONE_NORMAL memory is available to describe hotplug memory,
207
+     ZONE_NORMAL memory is available to describe hotplug memory,
205
+     otherwise hotplug memory may fail to online. For example,
208
+     otherwise hotplug memory may fail to online. For example,
206
+     sufficient kernel-capable memory (ZONE_NORMAL) must be
209
+     sufficient kernel-capable memory (ZONE_NORMAL) must be
...
...
diff view generated by jsdifflib