aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToshi Kani <toshi.kani@hp.com>2013-07-19 13:47:48 -0400
committerIngo Molnar <mingo@kernel.org>2013-07-22 05:13:34 -0400
commita0842b704b0f7c2d925473676f2012ea5dc39976 (patch)
tree6abaf5122cd924cbe083b168ea3e94264b6d6b73
parent3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b (diff)
mm/hotplug, x86: Disable ARCH_MEMORY_PROBE by default
CONFIG_ARCH_MEMORY_PROBE enables the /sys/devices/system/memory/probe interface, which allows a given memory address to be hot-added as follows: # echo start_address_of_new_memory > /sys/devices/system/memory/probe (See Documentation/memory-hotplug.txt for more details.) This probe interface is required on powerpc. On x86, however, ACPI notifies a memory hotplug event to the kernel, which performs its hotplug operation as the result. Therefore, regular users do not need this interface on x86. This probe interface is also error-prone and misleading that the kernel blindly adds a given memory address without checking if the memory is present on the system; no probing is done despite of its name. The kernel crashes when a user requests to online a memory block that is not present on the system. This interface is currently used for testing as it can fake a hotplug event. This patch disables CONFIG_ARCH_MEMORY_PROBE by default on x86, adds its Kconfig menu entry on x86, and clarifies its use in Documentation/ memory-hotplug.txt. Signed-off-by: Toshi Kani <toshi.kani@hp.com> Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: linux-mm@kvack.org Cc: dave@sr71.net Cc: isimatu.yasuaki@jp.fujitsu.com Cc: tangchen@cn.fujitsu.com Cc: vasilis.liaskovitis@profitbricks.com Link: http://lkml.kernel.org/r/1374256068-26016-1-git-send-email-toshi.kani@hp.com [ Edited it slightly. ] Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--Documentation/memory-hotplug.txt16
-rw-r--r--arch/x86/Kconfig6
2 files changed, 14 insertions, 8 deletions
diff --git a/Documentation/memory-hotplug.txt b/Documentation/memory-hotplug.txt
index 8e5eacbdcfa3..8fd254c73589 100644
--- a/Documentation/memory-hotplug.txt
+++ b/Documentation/memory-hotplug.txt
@@ -210,13 +210,15 @@ If memory device is found, memory hotplug code will be called.
210 210
2114.2 Notify memory hot-add event by hand 2114.2 Notify memory hot-add event by hand
212------------ 212------------
213In some environments, especially virtualized environment, firmware will not 213On powerpc, the firmware does not notify a memory hotplug event to the kernel.
214notify memory hotplug event to the kernel. For such environment, "probe" 214Therefore, "probe" interface is supported to notify the event to the kernel.
215interface is supported. This interface depends on CONFIG_ARCH_MEMORY_PROBE. 215This interface depends on CONFIG_ARCH_MEMORY_PROBE.
216 216
217Now, CONFIG_ARCH_MEMORY_PROBE is supported only by powerpc but it does not 217CONFIG_ARCH_MEMORY_PROBE is supported on powerpc only. On x86, this config
218contain highly architecture codes. Please add config if you need "probe" 218option is disabled by default since ACPI notifies a memory hotplug event to
219interface. 219the kernel, which performs its hotplug operation as the result. Please
220enable this option if you need the "probe" interface for testing purposes
221on x86.
220 222
221Probe interface is located at 223Probe interface is located at
222/sys/devices/system/memory/probe 224/sys/devices/system/memory/probe
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index b32ebf92b0ce..2f9d95775d27 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1344,8 +1344,12 @@ config ARCH_SELECT_MEMORY_MODEL
1344 depends on ARCH_SPARSEMEM_ENABLE 1344 depends on ARCH_SPARSEMEM_ENABLE
1345 1345
1346config ARCH_MEMORY_PROBE 1346config ARCH_MEMORY_PROBE
1347 def_bool y 1347 bool "Enable sysfs memory/probe interface"
1348 depends on X86_64 && MEMORY_HOTPLUG 1348 depends on X86_64 && MEMORY_HOTPLUG
1349 help
1350 This option enables a sysfs memory/probe interface for testing.
1351 See Documentation/memory-hotplug.txt for more information.
1352 If you are unsure how to answer this question, answer N.
1349 1353
1350config ARCH_PROC_KCORE_TEXT 1354config ARCH_PROC_KCORE_TEXT
1351 def_bool y 1355 def_bool y