[PATCH] x86: remove additional_cpus configurability

From: Ingo Molnar
Date: Sun Oct 05 2008 - 11:12:36 EST


additional_cpus=<x> parameter is dangerous and broken: for example
if we boot additional_cpus=-2 on a stock dual-core system it will
crash the box on bootup.

So reduce the maze of code a bit by removingthe user-configurability
angle.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
arch/x86/Kconfig | 18 ------------------
arch/x86/kernel/smpboot.c | 8 +-------
2 files changed, 1 insertions(+), 25 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7dff081..e2c060e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1365,24 +1365,6 @@ config HOTPLUG_CPU
Say N if you want to disable CPU hotplug and don't need to
suspend.

-config HOTPLUG_RESTRICT_TO_BOOTUP_CPUS
- def_bool n
- prompt "Restrict CPU hotplugging to processors found during boot" if HOTPLUG_CPU
- ---help---
- Say no here to use the default, which allows as many CPUs as are marked
- "disabled" by ACPI or MPTABLES to be hotplugged after bootup.
-
- Say yes if you do not want to allow CPUs to be added after booting, for
- example if you only need CPU hotplugging enabled for suspend/resume.
-
- If CPU_HOTPLUG is enabled this value may be overridden at boot time
- with the "additional_cpus" kernel parameter.
-
-config HOTPLUG_ADDITIONAL_CPUS
- int
- default 0 if !HOTPLUG_CPU || HOTPLUG_RESTRICT_TO_BOOTUP_CPUS
- default -1
-
config COMPAT_VDSO
def_bool y
prompt "Compat VDSO support"
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 9ac428a..3868018 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1260,7 +1260,7 @@ void __init native_smp_cpus_done(unsigned int max_cpus)
check_nmi_watchdog();
}

-static int additional_cpus __initdata = CONFIG_HOTPLUG_ADDITIONAL_CPUS;
+static int additional_cpus = -1;

/*
* cpu_possible_map should be static, it cannot change as cpu's
@@ -1333,12 +1333,6 @@ static void remove_siblinginfo(int cpu)
cpu_clear(cpu, cpu_sibling_setup_map);
}

-static __init int setup_additional_cpus(char *s)
-{
- return s && get_option(&s, &additional_cpus) ? 0 : -EINVAL;
-}
-early_param("additional_cpus", setup_additional_cpus);
-
static void __ref remove_cpu_from_maps(int cpu)
{
cpu_clear(cpu, cpu_online_map);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/