| From jejb@kernel.org Wed Oct 15 14:45:08 2008 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Mon, 13 Oct 2008 17:15:23 GMT |
| Subject: x86: improve UP kernel when CPU-hotplug and SMP is enabled |
| To: jejb@kernel.org, stable@kernel.org |
| Message-ID: <200810131715.m9DHFNoT025122@hera.kernel.org> |
| |
| From: Thomas Gleixner <tglx@linutronix.de> |
| |
| commit 649c6653fa94ec8f3ea32b19c97b790ec4e8e4ac upstream |
| |
| num_possible_cpus() can be > 1 when disabled CPUs have been accounted. |
| |
| Disabled CPUs are not in the cpu_present_map, so we can use |
| num_present_cpus() as a safe indicator to switch to UP alternatives. |
| |
| Reported-by: Chuck Ebbert <cebbert@redhat.com> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/x86/kernel/alternative.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/kernel/alternative.c |
| +++ b/arch/x86/kernel/alternative.c |
| @@ -454,7 +454,7 @@ void __init alternative_instructions(voi |
| _text, _etext); |
| |
| /* Only switch to UP mode if we don't immediately boot others */ |
| - if (num_possible_cpus() == 1 || setup_max_cpus <= 1) |
| + if (num_present_cpus() == 1 || setup_max_cpus <= 1) |
| alternatives_smp_switch(0); |
| } |
| #endif |