Re: cpu hotplug: possible_cpus broken (again?) next-20130607

From: Youquan Song
Date: Wed Jun 12 2013 - 09:50:43 EST


> > 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.song@xxxxxxxxx>
> > 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/