Re: [PATCH] mm/hotplug, x86: Disable ARCH_MEMORY_PROBE by default

From: Toshi Kani
Date: Wed Jul 17 2013 - 19:30:41 EST


On Wed, 2013-07-17 at 19:22 -0400, KOSAKI Motohiro wrote:
> On Wed, Jul 17, 2013 at 5:45 PM, Toshi Kani <toshi.kani@xxxxxx> wrote:
> > CONFIG_ARCH_MEMORY_PROBE enables /sys/devices/system/memory/probe
> > interface, which allows a given memory address to be hot-added as
> > follows. (See Documentation/memory-hotplug.txt for more detail.)
> >
> > # echo start_address_of_new_memory > /sys/devices/system/memory/probe
> >
> > 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, users should not be
> > required to use this interface on x86. This probe interface is also
> > error-prone 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 patch disables CONFIG_ARCH_MEMORY_PROBE by default on x86,
> > and clarifies it in Documentation/memory-hotplug.txt.
>
> Why don't you completely remove it? Who should use this strange interface?

According to the comment below, this probe interface is used on powerpc.
So, we cannot remove it, but to disable it on x86.

/*
* Some architectures will have custom drivers to do this, and
* will not need to do it from userspace. The fake hot-add code
* as well as ppc64 will do all of their discovery in userspace
* and will require this interface.
*/
#ifdef CONFIG_ARCH_MEMORY_PROBE
static ssize_t
memory_probe_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
:

Thanks,
-Toshi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/