diff options
author | Yinghai Lu <yinghai@kernel.org> | 2010-02-10 01:20:37 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-02-17 17:30:22 -0800 |
commit | 2b633e3fac5efada088b57d31e65401f22bcc18f (patch) | |
tree | a5a63de9ef9db656dd9c87c7eaf360762fe69759 /init | |
parent | 6738762d73a237ec322b04d8b9d55c8fd5d84713 (diff) | |
download | lwn-2b633e3fac5efada088b57d31e65401f22bcc18f.tar.gz lwn-2b633e3fac5efada088b57d31e65401f22bcc18f.zip |
smp: Use nr_cpus= to set nr_cpu_ids early
On x86, before prefill_possible_map(), nr_cpu_ids will be NR_CPUS aka
CONFIG_NR_CPUS.
Add nr_cpus= to set nr_cpu_ids. so we can simulate cpus <=8 are installed on
normal config.
-v2: accordging to Christoph, acpi_numa_init should use nr_cpu_ids in stead of
NR_CPUS.
-v3: add doc in kernel-parameters.txt according to Andrew.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <1265793639-15071-34-git-send-email-yinghai@kernel.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'init')
-rw-r--r-- | init/main.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/init/main.c b/init/main.c index 845187822e5c..05b5283e98fa 100644 --- a/init/main.c +++ b/init/main.c @@ -149,6 +149,20 @@ static int __init nosmp(char *str) early_param("nosmp", nosmp); +/* this is hard limit */ +static int __init nrcpus(char *str) +{ + int nr_cpus; + + get_option(&str, &nr_cpus); + if (nr_cpus > 0 && nr_cpus < nr_cpu_ids) + nr_cpu_ids = nr_cpus; + + return 0; +} + +early_param("nr_cpus", nrcpus); + static int __init maxcpus(char *str) { get_option(&str, &setup_max_cpus); |