Correct CPUs printout on boot.
This currently prints out the maximum number of CPUs the kernel is configured to support, instead of the actual number that the kernel brought up. Which results in odd displays that look like you have more CPUs than you do.
Dave
init/main.c renamed from init/main.c~ +3 -2
@@ -339,7 +339,7 @@/* Called by boot processor to activate the rest. */ static void __init smp_init (void ) { -unsigned int i; +unsigned int i, j=0 ;/* FIXME: This should be done in userspace --RR */ for (i =0 ; i <NR_CPUS ; i++) {
@@ -348,11 +348,12 @@if (cpu_possible (i) && !cpu_online (i)) {printk ("Bringing up %i\n" , i);cpu_up (i); + j++; } }/* Any cleanup work */ -printk ("CPUS done %u\n" , max_cpus); +printk ("CPUS done %u\n" , j);smp_cpus_done (max_cpus);#if 0 /* Get other processors into their bootup holding patterns. */
Quoted 4 lines · On Friday 23 January 2004 12:35 am, [email protected] wrote:
This currently prints out the maximum number of CPUs the kernel is configured to support, instead of the actual number that the kernel brought up. Which results in odd displays that look like you have more CPUs than you do.
Why do you have to declare a new variable? Can't you just do this? i is already counting how many cpu's we've brought up and its of the same type j.
- printk("CPUS done %u\n", max_cpus);
+ printk("CPUS done %u\n", i);
Quoted 18 lines
Dave
diff -urpN --exclude-from=/home/davej/.exclude
bk-linus/init/main.clinux-2.5/init/main.c--- linux-2.5/init/main.c~ Fri Jan 23 06:24:12 2004
+++linux-2.5/init/main.cFri Jan 23 06:24:44 2004init/main.c renamed from init/main.c~ +1
-1@@ -339,7 +339,7 @@/* Called by boot processor to activate the rest. */ static void __init smp_init (void ) { -unsigned int i; +unsigned int i, j=0 ;/* FIXME: This should be done in userspace --RR */ for (i =0 ; i <NR_CPUS ; i++) {@@ -348,11 +348,12 @@if (cpu_possible (i) && !cpu_online (i)) {printk ("Bringing up %i\n" , i);cpu_up (i);
init/main.c line 359
Quoted 10 lines
init/main.c renamed from init/main.c~ +2
-1+ j++; } }/* Any cleanup work */ -printk ("CPUS done %u\n" , max_cpus); +printk ("CPUS done %u\n" , j);smp_cpus_done (max_cpus);#if 0 /* Get other processors into their bootup holding patterns. */
-------------------------
Eric Bambach
Eric at cisu dot net
-------------------------
Quoted 10 lines · Eric
Quoted 5 lines · On Friday 23 January 2004 12:35 am, [email protected] wrote:
This currently prints out the maximum number of CPUs the kernel is configured to support, instead of the actual number that the kernel brought up. Which results in odd displays that look like you have more CPUs than you do.
Why do you have to declare a new variable? Can't you just do this? i is already counting how many cpu's we've brought up and its of the same type j.
CPU numbering is allowed to be sparse. Besides, i still counts up to NR_CPUS even if CPU numbering isn't sparse.