diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-18 10:38:59 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-01-18 10:38:59 -0500 |
commit | e7a22c1ebcc1caa8178df1819d05128bb5b45ab9 (patch) | |
tree | 7769b1263850c97fa244a48ad9187ce0d74e1965 /arch/x86/kernel | |
parent | 5689553076c4a67b83426b076082c63085b7567a (diff) |
x86-64: Move nodenumber from PDA to per-cpu.
tj: * s/nodenumber/node_number/
* removed now unused pda variable from pda_init()
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 13 | ||||
-rw-r--r-- | arch/x86/kernel/setup_percpu.c | 4 |
2 files changed, 9 insertions, 8 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index e2323ecce1d3..7976a6a0f65c 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -897,18 +897,11 @@ DEFINE_PER_CPU(unsigned int, irq_count) = -1; | |||
897 | 897 | ||
898 | void __cpuinit pda_init(int cpu) | 898 | void __cpuinit pda_init(int cpu) |
899 | { | 899 | { |
900 | struct x8664_pda *pda = cpu_pda(cpu); | ||
901 | |||
902 | /* Setup up data that may be needed in __get_free_pages early */ | 900 | /* Setup up data that may be needed in __get_free_pages early */ |
903 | loadsegment(fs, 0); | 901 | loadsegment(fs, 0); |
904 | loadsegment(gs, 0); | 902 | loadsegment(gs, 0); |
905 | 903 | ||
906 | load_pda_offset(cpu); | 904 | load_pda_offset(cpu); |
907 | |||
908 | if (cpu != 0) { | ||
909 | if (pda->nodenumber == 0 && cpu_to_node(cpu) != NUMA_NO_NODE) | ||
910 | pda->nodenumber = cpu_to_node(cpu); | ||
911 | } | ||
912 | } | 905 | } |
913 | 906 | ||
914 | static DEFINE_PER_CPU_PAGE_ALIGNED(char, exception_stacks | 907 | static DEFINE_PER_CPU_PAGE_ALIGNED(char, exception_stacks |
@@ -978,6 +971,12 @@ void __cpuinit cpu_init(void) | |||
978 | if (cpu != 0) | 971 | if (cpu != 0) |
979 | pda_init(cpu); | 972 | pda_init(cpu); |
980 | 973 | ||
974 | #ifdef CONFIG_NUMA | ||
975 | if (cpu != 0 && percpu_read(node_number) == 0 && | ||
976 | cpu_to_node(cpu) != NUMA_NO_NODE) | ||
977 | percpu_write(node_number, cpu_to_node(cpu)); | ||
978 | #endif | ||
979 | |||
981 | me = current; | 980 | me = current; |
982 | 981 | ||
983 | if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) | 982 | if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) |
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 258497f93f4d..efbafbbff584 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
@@ -53,6 +53,8 @@ EXPORT_EARLY_PER_CPU_SYMBOL(x86_bios_cpu_apicid); | |||
53 | 53 | ||
54 | #if defined(CONFIG_NUMA) && defined(CONFIG_X86_64) | 54 | #if defined(CONFIG_NUMA) && defined(CONFIG_X86_64) |
55 | #define X86_64_NUMA 1 /* (used later) */ | 55 | #define X86_64_NUMA 1 /* (used later) */ |
56 | DEFINE_PER_CPU(int, node_number) = 0; | ||
57 | EXPORT_PER_CPU_SYMBOL(node_number); | ||
56 | 58 | ||
57 | /* | 59 | /* |
58 | * Map cpu index to node index | 60 | * Map cpu index to node index |
@@ -283,7 +285,7 @@ void __cpuinit numa_set_node(int cpu, int node) | |||
283 | per_cpu(x86_cpu_to_node_map, cpu) = node; | 285 | per_cpu(x86_cpu_to_node_map, cpu) = node; |
284 | 286 | ||
285 | if (node != NUMA_NO_NODE) | 287 | if (node != NUMA_NO_NODE) |
286 | cpu_pda(cpu)->nodenumber = node; | 288 | per_cpu(node_number, cpu) = node; |
287 | } | 289 | } |
288 | 290 | ||
289 | void __cpuinit numa_clear_node(int cpu) | 291 | void __cpuinit numa_clear_node(int cpu) |