On Tue, 2013-08-06 at 19:11 +0900, Yasuaki Ishimatsu wrote:try_offline_node() checks that all cpus related with removed node have been
removed by using cpu_present_bits. If all cpus related with removed node have
been removed, try_offline_node() clears the node information.
But try_offline_node() called from acpi_processor_remove() never clears
the node information. For disabling cpu_present_bits, acpi_unmap_lsapic()
need be called. But acpi_unmap_lsapic() is called after try_offline_node()
runs. So when try_offline_node() runs, the cpu's cpu_present_bits is always
set.
This patch moves try_offline_node() after acpi_unmap_lsapic().
Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
The change looks good to me.
Acked-by: Toshi Kani <toshi.kani@xxxxxx>
BTW, do you know why try_offline_node() has to use stop_machine()?
Thanks,
-Toshi