At 07/27/2012 06:45 PM, Yasuaki Ishimatsu Wrote: > Hi Wen, > > 2012/07/27 19:36, Wen Congyang wrote: >> From: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> >> >> The patch adds node_set_offline() and unregister_one_node() to >> remove_memory() >> for removing sysfs file of node. >> >> CC: David Rientjes <rientjes@xxxxxxxxxx> >> CC: Jiang Liu <liuj97@xxxxxxxxx> >> CC: Len Brown <len.brown@xxxxxxxxx> >> CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> >> CC: Paul Mackerras <paulus@xxxxxxxxx> >> CC: Christoph Lameter <cl@xxxxxxxxx> >> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> >> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> >> CC: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> >> CC: Wen Congyang <wency@xxxxxxxxxxxxxx> >> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> >> --- >> mm/memory_hotplug.c | 5 +++++ >> 1 files changed, 5 insertions(+), 0 deletions(-) >> >> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c >> index 5ac035f..5681968 100644 >> --- a/mm/memory_hotplug.c >> +++ b/mm/memory_hotplug.c >> @@ -1267,6 +1267,11 @@ int __ref remove_memory(int nid, u64 start, u64 >> size) >> /* remove memmap entry */ >> firmware_map_remove(start, start + size, "System RAM"); >> >> + if (!node_present_pages(nid)) { > > Applying [PATCH v5 17/19], pgdat->node_spanned_pages can become 0 when > all memory of the pgdat is removed. When pgdat->node_spanned_pages is 0, > it means the pgdat has no memory. So I think node_spanned_pages() is > better. node_spanned_pages = present_pages + hole_pages So present_pages is always less or equal than spanned_pages, and I think checking present pages is better. Thanks Wen Congyang > > Thanks, > Yasuaki Ishimatsu > >> + node_set_offline(nid); >> + unregister_one_node(nid); >> + } >> + >> arch_remove_memory(start, size); >> out: >> unlock_memory_hotplug(); >> > > > -- 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