nr_cpus cmdline parameter not working
Russell King - ARM Linux
linux at arm.linux.org.uk
Sat Oct 1 12:23:57 EDT 2011
On Wed, Sep 28, 2011 at 11:35:16AM -0400, Mark Salter wrote:
> I noticed that nr_cpus=1 doesn't appear to have any effect on a
> pandaboard (and probably others from the looks of things). This
> changes seems to be needed, but I'm not really sure if this is
> the right thing or not.
>
> diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c
> index ce65e93..a1198ac 100644
> --- a/arch/arm/mach-omap2/omap-smp.c
> +++ b/arch/arm/mach-omap2/omap-smp.c
> @@ -117,6 +117,9 @@ void __init smp_init_cpus(void)
> ncores = NR_CPUS;
> }
>
> + if (ncores > nr_cpu_ids)
> + ncores = nr_cpu_ids;
> +
This potentially affects all SMP platforms, so the patch needs to be
bigger than this.
Also, I think the test above should be modified to use nr_cpu_ids
rather than NR_CPUS, to be inline with what x86 does:
/* nr_cpu_ids could be reduced via nr_cpus= */
if (possible > nr_cpu_ids) {
printk(KERN_WARNING
"%d Processors exceeds NR_CPUS limit of %d\n",
possible, nr_cpu_ids);
possible = nr_cpu_ids;
}
(This is essentially the same check that we're doing.)
Could you have a look at this and cook up another patch covering the
other SMP platforms please?
Thanks.
More information about the linux-arm-kernel
mailing list