aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2008-01-30 07:33:25 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:33:25 -0500
commit625d6cffcac1c96faa18d629f1271d63af0e05f2 (patch)
tree71c41fee9bc95ab4b4678a23a17faba7b014ff4b
parentc84d6af881be84687fa924f16b2f4b4690354165 (diff)
x86: fix early cpu_to_node panic from nr_free_zone_pages
call early_cpu_to_node() since per_cpu(cpu_to_node_map) might not be setup yet. I also had to export x86_cpu_to_node_map_early_ptr because of some calls from the network code to numa_node_id(): net/ipv4/netfilter/arp_tables.c: net/ipv4/netfilter/ip_tables.c: net/ipv4/netfilter/ip_tables.c: Signed-off-by: Mike Travis <travis@sgi.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/mm/numa_64.c2
-rw-r--r--include/asm-x86/topology.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c
index 70b463abf6f4..441af4edea59 100644
--- a/arch/x86/mm/numa_64.c
+++ b/arch/x86/mm/numa_64.c
@@ -37,9 +37,7 @@ u16 x86_cpu_to_node_map_init[NR_CPUS] = {
37void *x86_cpu_to_node_map_early_ptr; 37void *x86_cpu_to_node_map_early_ptr;
38DEFINE_PER_CPU(u16, x86_cpu_to_node_map) = NUMA_NO_NODE; 38DEFINE_PER_CPU(u16, x86_cpu_to_node_map) = NUMA_NO_NODE;
39EXPORT_PER_CPU_SYMBOL(x86_cpu_to_node_map); 39EXPORT_PER_CPU_SYMBOL(x86_cpu_to_node_map);
40#ifdef CONFIG_DEBUG_PER_CPU_MAPS
41EXPORT_SYMBOL(x86_cpu_to_node_map_early_ptr); 40EXPORT_SYMBOL(x86_cpu_to_node_map_early_ptr);
42#endif
43 41
44u16 apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = { 42u16 apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = {
45 [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE 43 [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE
diff --git a/include/asm-x86/topology.h b/include/asm-x86/topology.h
index 9a8228a177c7..7b0cce2f370d 100644
--- a/include/asm-x86/topology.h
+++ b/include/asm-x86/topology.h
@@ -37,6 +37,8 @@ extern u8 cpu_to_node_map[];
37DECLARE_PER_CPU(u16, x86_cpu_to_node_map); 37DECLARE_PER_CPU(u16, x86_cpu_to_node_map);
38extern u16 x86_cpu_to_node_map_init[]; 38extern u16 x86_cpu_to_node_map_init[];
39extern void *x86_cpu_to_node_map_early_ptr; 39extern void *x86_cpu_to_node_map_early_ptr;
40/* Returns the number of the current Node. */
41#define numa_node_id() (early_cpu_to_node(raw_smp_processor_id()))
40#endif 42#endif
41 43
42extern cpumask_t node_to_cpumask_map[]; 44extern cpumask_t node_to_cpumask_map[];