Re: [PATCH 08/10] x86: Change NR_CPUS arrays in numa_64
From: Mike Travis
Date: Mon Jan 14 2008 - 12:17:36 EST
Ingo Molnar wrote:
> * travis@xxxxxxx <travis@xxxxxxx> 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
Thanks! I'll add this in.
Mike
>
> --------------->
> ---
> 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;
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/