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-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html