Re: [PATCH] mm/hotplug: Remove stop_machine() fromtry_offline_node()

From: Toshi Kani
Date: Tue Aug 13 2013 - 10:46:11 EST


On Tue, 2013-08-13 at 13:41 +0200, Rafael J. Wysocki wrote:
> On Monday, August 12, 2013 01:34:31 PM Toshi Kani wrote:
> > lock_device_hotplug() serializes hotplug & online/offline operations.
> > The lock is held in common sysfs online/offline interfaces and ACPI
> > hotplug code paths.
> >
> > try_offline_node() off-lines a node if all memory sections and cpus
> > are removed on the node. It is called from acpi_processor_remove()
> > and acpi_memory_remove_memory()->remove_memory() paths, both of which
> > are in the ACPI hotplug code.
> >
> > try_offline_node() calls stop_machine() to stop all cpus while checking
> > all cpu status with the assumption that the caller is not protected from
> > CPU hotplug or CPU online/offline operations. However, the caller is
> > always serialized with lock_device_hotplug(). Also, the code needs to
> > be properly serialized with a lock, not by stopping all cpus at a random
> > place with stop_machine().
> >
> > This patch removes the use of stop_machine() in try_offline_node() and
> > adds comments to try_offline_node() and remove_memory() that
> > lock_device_hotplug() is required.
> >
> > Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

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/