Re: [PATCH] x86: numa: mm: kill double initialization for NODE_DATA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]