Messages in this thread Patch in this message | | | Date | Mon, 14 Jan 2008 12:14:28 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 08/10] x86: Change NR_CPUS arrays in numa_64 |
| |
* travis@sgi.com <travis@sgi.com> wrote:
> Change the following static arrays sized by NR_CPUS to > per_cpu data variables: > > char cpu_to_node_map[NR_CPUS];
x86.git randconfig testing found the !NUMA build bugs below.
Ingo
---------------> --- arch/x86/kernel/setup_64.c | 2 ++ arch/x86/kernel/smpboot_64.c | 4 ++++ 2 files changed, 6 insertions(+)
Index: linux/arch/x86/kernel/setup_64.c =================================================================== --- linux.orig/arch/x86/kernel/setup_64.c +++ linux/arch/x86/kernel/setup_64.c @@ -379,7 +379,9 @@ void __init setup_arch(char **cmdline_p) #ifdef CONFIG_SMP /* setup to use the early static init tables during kernel startup */ x86_cpu_to_apicid_early_ptr = (void *)&x86_cpu_to_apicid_init; +#ifdef CONFIG_NUMA x86_cpu_to_node_map_early_ptr = (void *)&x86_cpu_to_node_map_init; +#endif x86_bios_cpu_apicid_early_ptr = (void *)&x86_bios_cpu_apicid_init; #endif Index: linux/arch/x86/kernel/smpboot_64.c =================================================================== --- linux.orig/arch/x86/kernel/smpboot_64.c +++ linux/arch/x86/kernel/smpboot_64.c @@ -864,8 +864,10 @@ void __init smp_set_apicids(void) if (per_cpu_offset(cpu)) { per_cpu(x86_cpu_to_apicid, cpu) = x86_cpu_to_apicid_init[cpu]; +#ifdef CONFIG_NUMA per_cpu(x86_cpu_to_node_map, cpu) = x86_cpu_to_node_map_init[cpu]; +#endif per_cpu(x86_bios_cpu_apicid, cpu) = x86_bios_cpu_apicid_init[cpu]; } @@ -876,7 +878,9 @@ void __init smp_set_apicids(void) /* indicate the early static arrays are gone */ x86_cpu_to_apicid_early_ptr = NULL; +#ifdef CONFIG_NUMA x86_cpu_to_node_map_early_ptr = NULL; +#endif x86_bios_cpu_apicid_early_ptr = NULL; }
| |