All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 1/4] use nr_cpus= to set nr_cpu_ids early
@ 2010-01-12  2:48 Yinghai Lu
  2010-01-12  2:48 ` [RFC PATCH 3/4] x86: using logical flat for amd cpu too Yinghai Lu
                   ` (3 more replies)
  0 siblings, 4 replies; 24+ messages in thread
From: Yinghai Lu @ 2010-01-12  2:48 UTC (permalink / raw)
  To: Suresh Siddha, Linus Torvalds, ananth@in.ibm.com, Ingo Molnar,
	Thomas Gleixner, H. Peter Anvin, Andrew Morton
  Cc: linux-kernel, Yinghai Lu

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 on normal config.
instead of change NR_CPUS directly.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>

---
 arch/ia64/kernel/acpi.c   |    4 ++--
 arch/x86/kernel/smpboot.c |    7 ++++---
 init/main.c               |   14 ++++++++++++++
 3 files changed, 20 insertions(+), 5 deletions(-)

Index: linux-2.6/init/main.c
===================================================================
--- linux-2.6.orig/init/main.c
+++ linux-2.6/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);
Index: linux-2.6/arch/ia64/kernel/acpi.c
===================================================================
--- linux-2.6.orig/arch/ia64/kernel/acpi.c
+++ linux-2.6/arch/ia64/kernel/acpi.c
@@ -883,8 +883,8 @@ __init void prefill_possible_map(void)
 
 	possible = available_cpus + additional_cpus;
 
-	if (possible > NR_CPUS)
-		possible = NR_CPUS;
+	if (possible > nr_cpu_ids)
+		possible = nr_cpu_ids;
 
 	printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n",
 		possible, max((possible - available_cpus), 0));
Index: linux-2.6/arch/x86/kernel/smpboot.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/smpboot.c
+++ linux-2.6/arch/x86/kernel/smpboot.c
@@ -1213,11 +1213,12 @@ __init void prefill_possible_map(void)
 
 	total_cpus = max_t(int, possible, num_processors + disabled_cpus);
 
-	if (possible > CONFIG_NR_CPUS) {
+	/* nr_cpu_ids could be reduced via nr_cpus= */
+	if (possible > nr_cpu_ids) {
 		printk(KERN_WARNING
 			"%d Processors exceeds NR_CPUS limit of %d\n",
-			possible, CONFIG_NR_CPUS);
-		possible = CONFIG_NR_CPUS;
+			possible, nr_cpu_ids);
+		possible = nr_cpu_ids;
 	}
 
 	printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n",

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2010-01-13  4:53 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-12  2:48 [RFC PATCH 1/4] use nr_cpus= to set nr_cpu_ids early Yinghai Lu
2010-01-12  2:48 ` [RFC PATCH 3/4] x86: using logical flat for amd cpu too Yinghai Lu
2010-01-12  3:16   ` Linus Torvalds
2010-01-12  8:47     ` Yinghai Lu
2010-01-12  8:27   ` Ananth N Mavinakayanahalli
2010-01-12 22:50     ` H. Peter Anvin
2010-01-13  4:53       ` Ananth N Mavinakayanahalli
2010-01-12  2:48 ` [RFC PATCH 4/4] x86: according to nr_cpu_ids to decide if need to leave logical flat Yinghai Lu
2010-01-12  3:20   ` Linus Torvalds
2010-01-12  8:50     ` Yinghai Lu
2010-01-12  2:48 ` [RFC PATCH 2/4] x86: use dmi check to treat disabled cpus as hotplug cpus Yinghai Lu
2010-01-12  3:13   ` Linus Torvalds
2010-01-12  8:59     ` Yinghai Lu
2010-01-12 15:19       ` Linus Torvalds
2010-01-12 17:54         ` Suresh Siddha
2010-01-12 18:13         ` Yinghai Lu
2010-01-12 18:24           ` Suresh Siddha
2010-01-12 19:19             ` Yinghai Lu
2010-01-12  9:15     ` Yinghai Lu
2010-01-12  9:46     ` Ingo Molnar
2010-01-12 16:14     ` Valdis.Kletnieks
2010-01-12 16:26       ` Linus Torvalds
2010-01-12 17:17         ` Valdis.Kletnieks
2010-01-12  3:06 ` [RFC PATCH 1/4] use nr_cpus= to set nr_cpu_ids early Linus Torvalds

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.