From: Andrew Morton - Fiddle with things a bit - make apicid_to_pxm[] be __initdata Signed-off-by: Andrew Morton --- arch/i386/kernel/smpboot.c | 2 +- arch/i386/kernel/srat.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff -puN arch/i386/kernel/smpboot.c~convert-i386-summit-subarch-to-use-srat-info-for-apicid_to_node-calls-tidy arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c~convert-i386-summit-subarch-to-use-srat-info-for-apicid_to_node-calls-tidy +++ a/arch/i386/kernel/smpboot.c @@ -102,7 +102,7 @@ u8 x86_cpu_to_apicid[NR_CPUS] __read_mos { [0 ... NR_CPUS-1] = 0xff }; EXPORT_SYMBOL(x86_cpu_to_apicid); -u8 apicid_2_node[MAX_APICID] = { [0 ... MAX_APICID-1] = 0 }; +u8 apicid_2_node[MAX_APICID]; /* * Trampoline 80x86 program as an array. diff -puN arch/i386/kernel/srat.c~convert-i386-summit-subarch-to-use-srat-info-for-apicid_to_node-calls-tidy arch/i386/kernel/srat.c --- a/arch/i386/kernel/srat.c~convert-i386-summit-subarch-to-use-srat-info-for-apicid_to_node-calls-tidy +++ a/arch/i386/kernel/srat.c @@ -55,7 +55,7 @@ struct node_memory_chunk_s { static struct node_memory_chunk_s node_memory_chunk[MAXCHUNKS]; static int num_memory_chunks; /* total number of memory chunks */ -static u8 apicid_to_pxm[MAX_APICID] = { [0 ... MAX_APICID-1] = 0 }; +static u8 __initdata apicid_to_pxm[MAX_APICID]; extern void * boot_ioremap(unsigned long, unsigned long); @@ -239,9 +239,8 @@ static int __init acpi20_parse_srat(stru printk("Number of logical nodes in system = %d\n", num_online_nodes()); printk("Number of memory chunks in system = %d\n", num_memory_chunks); - for (i = 0; i < MAX_APICID; i++) { + for (i = 0; i < MAX_APICID; i++) apicid_2_node[i] = pxm_to_node(apicid_to_pxm[i]); - } for (j = 0; j < num_memory_chunks; j++){ struct node_memory_chunk_s * chunk = &node_memory_chunk[j]; _