aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-02-05 13:51:57 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-05 13:51:57 -0500
commitcef5076987dd545ac74f4efcf1c962be8eac34b0 (patch)
treed404e17d44665c39006d6a5f25cd6b02819a4772
parent5b7b644ca9a12396a46fad825a973fb8bed17102 (diff)
Revert "[PATCH] x86_64: Fix the node cpumask of a cpu going down"
This reverts commit 10f4dc8b27ac42f930ac55adb8c521264dc997f8. Quoth Andi Kleen: "Kiran decided that it makes the problem worse than it was before. Fixing it fully requires more work which is too much for 2.6.16. So please revert that commit for now." Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/x86_64/kernel/smpboot.c3
-rw-r--r--include/asm-x86_64/numa.h7
2 files changed, 0 insertions, 10 deletions
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c
index 67e4e28f4df8..a28756ef7cef 100644
--- a/arch/x86_64/kernel/smpboot.c
+++ b/arch/x86_64/kernel/smpboot.c
@@ -59,7 +59,6 @@
59#include <asm/nmi.h> 59#include <asm/nmi.h>
60#include <asm/irq.h> 60#include <asm/irq.h>
61#include <asm/hw_irq.h> 61#include <asm/hw_irq.h>
62#include <asm/numa.h>
63 62
64/* Number of siblings per CPU package */ 63/* Number of siblings per CPU package */
65int smp_num_siblings = 1; 64int smp_num_siblings = 1;
@@ -891,7 +890,6 @@ do_rest:
891 if (boot_error) { 890 if (boot_error) {
892 cpu_clear(cpu, cpu_callout_map); /* was set here (do_boot_cpu()) */ 891 cpu_clear(cpu, cpu_callout_map); /* was set here (do_boot_cpu()) */
893 clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ 892 clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */
894 clear_node_cpumask(cpu); /* was set by numa_add_cpu */
895 cpu_clear(cpu, cpu_present_map); 893 cpu_clear(cpu, cpu_present_map);
896 cpu_clear(cpu, cpu_possible_map); 894 cpu_clear(cpu, cpu_possible_map);
897 x86_cpu_to_apicid[cpu] = BAD_APICID; 895 x86_cpu_to_apicid[cpu] = BAD_APICID;
@@ -1189,7 +1187,6 @@ void remove_cpu_from_maps(void)
1189 cpu_clear(cpu, cpu_callout_map); 1187 cpu_clear(cpu, cpu_callout_map);
1190 cpu_clear(cpu, cpu_callin_map); 1188 cpu_clear(cpu, cpu_callin_map);
1191 clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */ 1189 clear_bit(cpu, &cpu_initialized); /* was set by cpu_init() */
1192 clear_node_cpumask(cpu);
1193} 1190}
1194 1191
1195int __cpu_disable(void) 1192int __cpu_disable(void)
diff --git a/include/asm-x86_64/numa.h b/include/asm-x86_64/numa.h
index dffe276ca2df..34e434ce3268 100644
--- a/include/asm-x86_64/numa.h
+++ b/include/asm-x86_64/numa.h
@@ -22,15 +22,8 @@ extern void numa_set_node(int cpu, int node);
22extern unsigned char apicid_to_node[256]; 22extern unsigned char apicid_to_node[256];
23#ifdef CONFIG_NUMA 23#ifdef CONFIG_NUMA
24extern void __init init_cpu_to_node(void); 24extern void __init init_cpu_to_node(void);
25
26static inline void clear_node_cpumask(int cpu)
27{
28 clear_bit(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
29}
30
31#else 25#else
32#define init_cpu_to_node() do {} while (0) 26#define init_cpu_to_node() do {} while (0)
33#define clear_node_cpumask(cpu) do {} while (0)
34#endif 27#endif
35 28
36#define NUMA_NO_NODE 0xff 29#define NUMA_NO_NODE 0xff