diff options
| author | Anton Altaparmakov <aia21@cantab.net> | 2006-03-23 17:06:08 +0000 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@cantab.net> | 2006-03-23 17:06:08 +0000 |
| commit | 92fe7b9ea8ef101bff3c75ade89b93b5f62a7955 (patch) | |
| tree | 3dba4faa78f1bbe4be503275173e3a63b5d60f22 /arch/i386/kernel/smpboot.c | |
| parent | e750d1c7cc314b9ba1934b0b474b7d39f906f865 (diff) | |
| parent | b0e6e962992b76580f4900b166a337bad7c1e81b (diff) | |
Merge branch 'master' of /usr/src/ntfs-2.6/
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
| -rw-r--r-- | arch/i386/kernel/smpboot.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 7007e1783797..4c470e99a742 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c @@ -899,6 +899,7 @@ static int __devinit do_boot_cpu(int apicid, int cpu) unsigned short nmi_high = 0, nmi_low = 0; ++cpucount; + alternatives_smp_switch(1); /* * We can't use kernel_thread since we must avoid to @@ -1368,6 +1369,8 @@ void __cpu_die(unsigned int cpu) /* They ack this in play_dead by setting CPU_DEAD */ if (per_cpu(cpu_state, cpu) == CPU_DEAD) { printk ("CPU %d is now offline\n", cpu); + if (1 == num_online_cpus()) + alternatives_smp_switch(0); return; } msleep(100); |
