> > Interesting, you are changing long standing meaning of maxcpus=
> > 
> > We always use maxcpus=1 to have one cpu up, and later in user space
> > to online other cpus like
> > echo 1 > /sys/devices/system/cpuX/online.
> > 
> > aka maxcpus= is a soft limit or initial online nr.
> > 
> > we already have nr_cpus= for hard limit.
> > 
> > So need to drop
> >  commit 3e275a5ba367ab74b3a4e49114307baed989fcac
> >  Author: Youquan Song <youquan.s...@intel.com>
> >  Date:   Fri Jun 7 10:07:08 2013 +1000
> > 
> >      drivers/base/cpu.c: fix maxcpus boot option
> 
> Agreed.

Yes. I also agree to drop it and the fix need more consideration.
I try use maxcpus to limit cpu number to debug a well known applition 
because it fail to run when cpu number is larger to > 69. 
When I use maxcpus at to limit the boot CPUs number, but udev will 
enable all of the CPUs at 3.10 kernel automatically. 
I also try maxcpus at 3.0 kernel, it does not show the maxcpus issue. 
I have digged out recently, it is the commit at 3.2 kernel
8a25a2fd126c621f44f3aeaef80d51f00fc11639 "cpu: convert 'cpu' and
'machinecheck' sysdev_class to a regular subsystem" result in udev
automatically enable all of CPUs though maxcpus has been provided.

So the next, I need look at udev try to enable all of CPUs though
maxcpus provided.  Possibly, it can also fix it in udev daemon.

Secondly, I think that the maxcpus= option description is too confused in
Documentation/kernel-parameters.txt. The maxcpus and nr_cpus option need
switch their name.
Currently:

        maxcpus=        [SMP] Maximum number of processors that an SMP kernel
                        should make use of.  maxcpus=n : n >= 0 limits the
                        kernel to using 'n' processors.  n=0 is a special case,
                        it is equivalent to "nosmp", which also disables
                        the IO APIC.

How about change to 

        maxcpus=        [SMP] Maximum number of processors that an SMP kernel
                        bring up during booting.  maxcpus=n : n >= 0 limits the
                        kernel to using 'n' processors.  n=0 is a special case,
                        it is equivalent to "nosmp", which also disables
                        the IO APIC.


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

Reply via email to