Re: [RFC PATCH 1/5] use nr_cpus= to set nr_cpu_ids early

From: Yinghai Lu
Date: Tue Jan 12 2010 - 14:57:47 EST


On Tue, Jan 12, 2010 at 11:32 AM, Christoph Lameter
<cl@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Tue, 12 Jan 2010, Yinghai Lu wrote:
>
>> 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.
>
> We already have
>
> maxcpus=x?
>
> Why do we need this twice?

maxcpus only change setup_max_cpus., and if you are using maxcpus=1,
and you have 8 cpus installed, you can put other
cpus back online via /sys/interface.

nr_cpus= is hard limit nr_cpu_ids, so if you have 16 cpus installed,
nr_cpus=8 will make your nr_cpu_ids=8, and you can not put back
other 8 back. and apic mode could stay with logical flat.
this is used to simulate some debug case. for example you have kernel
support physflat, and flat, with CONFIG_NR_CPUS=255. to run that on
system that only have 8 cpus, you will have apic mode in logical flat.
but if you have run the kernel on system with 32 cpus installed, it
will switch to physflat even you have maxcpus=8 appedded.

YH
--
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/