aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-01-11 16:42:35 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-11 22:01:11 -0500
commitf62a91f6911479642c0018290d4248ace4287648 (patch)
treef5d941d1f1dab0bf462795c47fa8b616d31a833f
parent92934bcbf96bc9dc931c40ca5f1a57685b7b813b (diff)
[PATCH] x86_64: Don't reserve hotplug CPUs by default
Most users don't need it so no need to waste memory. This means an user has to specify the appropiate number of hotplug CPUs on the command line with additional_cpus=... or fix their BIOS to follow the convention in Documentation/x86-64/cpu-hotplug-spec Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Documentation/x86_64/boot-options.txt2
-rw-r--r--arch/x86_64/kernel/smpboot.c11
2 files changed, 5 insertions, 8 deletions
diff --git a/Documentation/x86_64/boot-options.txt b/Documentation/x86_64/boot-options.txt
index e566affeed7f..72ab9b99b22c 100644
--- a/Documentation/x86_64/boot-options.txt
+++ b/Documentation/x86_64/boot-options.txt
@@ -125,7 +125,7 @@ SMP
125 cpumask=MASK only use cpus with bits set in mask 125 cpumask=MASK only use cpus with bits set in mask
126 126
127 additional_cpus=NUM Allow NUM more CPUs for hotplug 127 additional_cpus=NUM Allow NUM more CPUs for hotplug
128 (defaults are specified by the BIOS or half the available CPUs) 128 (defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec)
129 129
130NUMA 130NUMA
131 131
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c
index ecbd7b83acc1..043b1d262a30 100644
--- a/arch/x86_64/kernel/smpboot.c
+++ b/arch/x86_64/kernel/smpboot.c
@@ -927,8 +927,8 @@ int additional_cpus __initdata = -1;
927 * 927 *
928 * Three ways to find out the number of additional hotplug CPUs: 928 * Three ways to find out the number of additional hotplug CPUs:
929 * - If the BIOS specified disabled CPUs in ACPI/mptables use that. 929 * - If the BIOS specified disabled CPUs in ACPI/mptables use that.
930 * - otherwise use half of the available CPUs or 2, whatever is more.
931 * - The user can overwrite it with additional_cpus=NUM 930 * - The user can overwrite it with additional_cpus=NUM
931 * - Otherwise don't reserve additional CPUs.
932 * We do this because additional CPUs waste a lot of memory. 932 * We do this because additional CPUs waste a lot of memory.
933 * -AK 933 * -AK
934 */ 934 */
@@ -938,13 +938,10 @@ __init void prefill_possible_map(void)
938 int possible; 938 int possible;
939 939
940 if (additional_cpus == -1) { 940 if (additional_cpus == -1) {
941 if (disabled_cpus > 0) { 941 if (disabled_cpus > 0)
942 additional_cpus = disabled_cpus; 942 additional_cpus = disabled_cpus;
943 } else { 943 else
944 additional_cpus = num_processors / 2; 944 additional_cpus = 0;
945 if (additional_cpus == 0)
946 additional_cpus = 2;
947 }
948 } 945 }
949 possible = num_processors + additional_cpus; 946 possible = num_processors + additional_cpus;
950 if (possible > NR_CPUS) 947 if (possible > NR_CPUS)