[PATCH] 2.3.46 - maxcpus broken on 2.3.46

From: bhartner@us.ibm.com
Date: Sat Feb 26 2000 - 12:11:52 EST


Documentation\kernel-parameters.txt :

maxcpus= [SMP] States the maximum number of processors that
                    an SMP kernel should make use of.

maxcpus appears broken on 2.3.46.

On a 2.3.46 4-way system,

If you enter maxcpus=0, then 1 cpu is used (boot cpu). OK
If you enter maxcpus=1, then 2 cpu(s) are used.
If you enter maxcpus=2, then 3 cpu(s) are used.
If you enter maxcpus=3, then 4 cpu(s) are used.

A patch to fix this is :

--- 2.3.46/arch/i386/kernel/smpboot.c Mon Jan 31 18:33:22 2000
+++ 2.3.46.sstat.smp/arch/i386/kernel/smpboot.c Sat Feb 26 11:21:25 2000
@@ -877,7 +877,7 @@

          if (!(phys_cpu_present_map & (1 << apicid)))
               continue;
- if ((max_cpus >= 0) && (max_cpus < cpucount+1))
+ if ((max_cpus == 0) || (max_cpus == cpucount+1))
               continue;

          do_boot_cpu(apicid);

Bill Hartner
IBM Linux Technology Center
bhartner@us.ibm.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Feb 29 2000 - 21:00:15 EST