On Tue, Apr 02, 2013 at 06:14:35PM +0800, Lin Feng wrote: >We initialize node_id, node_start_pfn and node_spanned_pages for NODE_DATA in >initmem_init() while the later two members are kept unused and will be >recaculated soon in paging_init(), so remove the useless assignments. > >PS. For clarifying calling chains are showed as follows: >setup_arch() > ... > initmem_init() > x86_numa_init() > numa_init() > numa_register_memblks() > setup_node_data() > NODE_DATA(nid)->node_id = nid; > NODE_DATA(nid)->node_start_pfn = start >> PAGE_SHIFT; > NODE_DATA(nid)->node_spanned_pages = (end - start) >> PAGE_SHIFT; > ... > x86_init.paging.pagetable_init() > paging_init() > ... > sparse_init() > sparse_early_usemaps_alloc_node() > sparse_early_usemaps_alloc_pgdat_section() > ___alloc_bootmem_node_nopanic() > __alloc_memory_core_early(pgdat->node_id,...) > ... > zone_sizes_init() > free_area_init_nodes() > free_area_init_node() > pgdat->node_id = nid; > pgdat->node_start_pfn = node_start_pfn; > calculate_node_totalpages(); > pgdat->node_spanned_pages = totalpages; > You miss the nodes which could become online at some point, but not online currently. Regards, Wanpeng Li > >Signed-off-by: Lin Feng <linfeng@xxxxxxxxxxxxxx> >--- > arch/x86/mm/numa.c | 2 -- > 1 files changed, 0 insertions(+), 2 deletions(-) > >diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c >index 72fe01e..efdd08f 100644 >--- a/arch/x86/mm/numa.c >+++ b/arch/x86/mm/numa.c >@@ -230,8 +230,6 @@ static void __init setup_node_data(int nid, u64 start, u64 end) > node_data[nid] = nd; > memset(NODE_DATA(nid), 0, sizeof(pg_data_t)); > NODE_DATA(nid)->node_id = nid; >- NODE_DATA(nid)->node_start_pfn = start >> PAGE_SHIFT; >- NODE_DATA(nid)->node_spanned_pages = (end - start) >> PAGE_SHIFT; > > node_set_online(nid); > } >-- >1.7.1 > >-- >To unsubscribe, send a message with 'unsubscribe linux-mm' in >the body to majordomo@xxxxxxxxx. For more info on Linux MM, >see: http://www.linux-mm.org/ . >Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>