diff options
author | travis@sgi.com <travis@sgi.com> | 2008-01-30 07:33:11 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:11 -0500 |
commit | df3825c56dd70a4d7796041388f3cfe51c1db832 (patch) | |
tree | 6110ef6ce26704679b9d13399e2aa368f3430126 /include/asm-x86/topology.h | |
parent | 3b41908902df1dba141cd7de1a727bb03718a654 (diff) |
x86: change NR_CPUS arrays in numa_64
Change the following static arrays sized by NR_CPUS to
per_cpu data variables:
char cpu_to_node_map[NR_CPUS];
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/topology.h')
-rw-r--r-- | include/asm-x86/topology.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/asm-x86/topology.h b/include/asm-x86/topology.h index f8706b2a3d88..e612ed8d2bc7 100644 --- a/include/asm-x86/topology.h +++ b/include/asm-x86/topology.h | |||
@@ -30,13 +30,24 @@ | |||
30 | #include <asm/mpspec.h> | 30 | #include <asm/mpspec.h> |
31 | 31 | ||
32 | /* Mappings between logical cpu number and node number */ | 32 | /* Mappings between logical cpu number and node number */ |
33 | extern u16 cpu_to_node_map[]; | 33 | DECLARE_PER_CPU(u16, x86_cpu_to_node_map); |
34 | extern u16 __initdata x86_cpu_to_node_map_init[]; | ||
35 | extern void *x86_cpu_to_node_map_early_ptr; | ||
34 | extern cpumask_t node_to_cpumask_map[]; | 36 | extern cpumask_t node_to_cpumask_map[]; |
35 | 37 | ||
38 | #define NUMA_NO_NODE ((u16)(~0)) | ||
39 | |||
36 | /* Returns the number of the node containing CPU 'cpu' */ | 40 | /* Returns the number of the node containing CPU 'cpu' */ |
37 | static inline int cpu_to_node(int cpu) | 41 | static inline int cpu_to_node(int cpu) |
38 | { | 42 | { |
39 | return cpu_to_node_map[cpu]; | 43 | u16 *cpu_to_node_map = (u16 *)x86_cpu_to_node_map_early_ptr; |
44 | |||
45 | if (cpu_to_node_map) | ||
46 | return cpu_to_node_map[cpu]; | ||
47 | else if (per_cpu_offset(cpu)) | ||
48 | return per_cpu(x86_cpu_to_node_map, cpu); | ||
49 | else | ||
50 | return NUMA_NO_NODE; | ||
40 | } | 51 | } |
41 | 52 | ||
42 | /* | 53 | /* |