diff options
author | Andi Kleen <ak@suse.de> | 2005-04-16 18:25:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:25:19 -0400 |
commit | a8ab26fe5bfeef43bdcde5182ca051ae0647607e (patch) | |
tree | 456f92b42111f83a4568b27efd863f20ffabbe3c /arch/x86_64/kernel/nmi.c | |
parent | ebfcaa96fccc01301a577c5c56a5f00543cf167e (diff) |
[PATCH] x86_64: Switch SMP bootup over to new CPU hotplug state machine
This will allow hotplug CPU in the future and in general cleans up a lot of
crufty code. It also should plug some races that the old hackish way
introduces. Remove one old race workaround in NMI watchdog setup that is not
needed anymore.
I removed the old total sum of bogomips reporting code. The brag value of
BogoMips has been greatly devalued in the last years on the open market.
Real CPU hotplug will need some more work, but the infrastructure for it is
there now.
One drawback: the new TSC sync algorithm is less accurate than before. The
old way of zeroing TSCs is too intrusive to do later. Instead the TSC of the
BP is duplicated now, which is less accurate.
akpm:
- sync_tsc_bp_init seems to have the sense of `init' inverted.
- SPIN_LOCK_UNLOCKED is deprecated - use DEFINE_SPINLOCK.
Cc: <rusty@rustcorp.com.au>
Cc: <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/nmi.c')
-rw-r--r-- | arch/x86_64/kernel/nmi.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c index 6ec5217f4b73..72f40ca4f06b 100644 --- a/arch/x86_64/kernel/nmi.c +++ b/arch/x86_64/kernel/nmi.c | |||
@@ -130,12 +130,6 @@ int __init check_nmi_watchdog (void) | |||
130 | mdelay((10*1000)/nmi_hz); // wait 10 ticks | 130 | mdelay((10*1000)/nmi_hz); // wait 10 ticks |
131 | 131 | ||
132 | for (cpu = 0; cpu < NR_CPUS; cpu++) { | 132 | for (cpu = 0; cpu < NR_CPUS; cpu++) { |
133 | #ifdef CONFIG_SMP | ||
134 | /* Check cpu_callin_map here because that is set | ||
135 | after the timer is started. */ | ||
136 | if (!cpu_isset(cpu, cpu_callin_map)) | ||
137 | continue; | ||
138 | #endif | ||
139 | if (cpu_pda[cpu].__nmi_count - counts[cpu] <= 5) { | 133 | if (cpu_pda[cpu].__nmi_count - counts[cpu] <= 5) { |
140 | printk("CPU#%d: NMI appears to be stuck (%d)!\n", | 134 | printk("CPU#%d: NMI appears to be stuck (%d)!\n", |
141 | cpu, | 135 | cpu, |