diff options
-rw-r--r-- | Documentation/x86_64/boot-options.txt | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/smpboot.c | 11 |
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 | ||
130 | NUMA | 130 | NUMA |
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) |