aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/Kconfig18
-rw-r--r--arch/x86/kernel/smpboot.c8
2 files changed, 1 insertions, 25 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index adaca6fa927d..fc8351f374fd 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1438,24 +1438,6 @@ config HOTPLUG_CPU
1438 automatically on SMP systems. ) 1438 automatically on SMP systems. )
1439 Say N if you want to disable CPU hotplug. 1439 Say N if you want to disable CPU hotplug.
1440 1440
1441config HOTPLUG_RESTRICT_TO_BOOTUP_CPUS
1442 def_bool n
1443 prompt "Restrict CPU hotplugging to processors found during boot" if HOTPLUG_CPU
1444 ---help---
1445 Say no here to use the default, which allows as many CPUs as are marked
1446 "disabled" by ACPI or MPTABLES to be hotplugged after bootup.
1447
1448 Say yes if you do not want to allow CPUs to be added after booting, for
1449 example if you only need CPU hotplugging enabled for suspend/resume.
1450
1451 If CPU_HOTPLUG is enabled this value may be overridden at boot time
1452 with the "additional_cpus" kernel parameter.
1453
1454config HOTPLUG_ADDITIONAL_CPUS
1455 int
1456 default 0 if !HOTPLUG_CPU || HOTPLUG_RESTRICT_TO_BOOTUP_CPUS
1457 default -1
1458
1459config COMPAT_VDSO 1441config COMPAT_VDSO
1460 def_bool y 1442 def_bool y
1461 prompt "Compat VDSO support" 1443 prompt "Compat VDSO support"
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 857a88bb9195..8dd201c31329 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1261,7 +1261,7 @@ void __init native_smp_cpus_done(unsigned int max_cpus)
1261 check_nmi_watchdog(); 1261 check_nmi_watchdog();
1262} 1262}
1263 1263
1264static int additional_cpus __initdata = CONFIG_HOTPLUG_ADDITIONAL_CPUS; 1264static int additional_cpus = -1;
1265 1265
1266/* 1266/*
1267 * cpu_possible_map should be static, it cannot change as cpu's 1267 * cpu_possible_map should be static, it cannot change as cpu's
@@ -1334,12 +1334,6 @@ static void remove_siblinginfo(int cpu)
1334 cpu_clear(cpu, cpu_sibling_setup_map); 1334 cpu_clear(cpu, cpu_sibling_setup_map);
1335} 1335}
1336 1336
1337static __init int setup_additional_cpus(char *s)
1338{
1339 return s && get_option(&s, &additional_cpus) ? 0 : -EINVAL;
1340}
1341early_param("additional_cpus", setup_additional_cpus);
1342
1343static void __ref remove_cpu_from_maps(int cpu) 1337static void __ref remove_cpu_from_maps(int cpu)
1344{ 1338{
1345 cpu_clear(cpu, cpu_online_map); 1339 cpu_clear(cpu, cpu_online_map);