Re: [PATCH] smp: Add bootcpus parameter to boot subset of CPUs

From: psodagud
Date: Mon Oct 26 2020 - 13:08:57 EST


On 2020-10-23 14:59, Thomas Gleixner wrote:
On Thu, Oct 22 2020 at 15:04, Elliot Berman wrote:
In a heterogeneous multiprocessor system, specifying the 'maxcpus'
parameter on kernel command line does not provide sufficient control
over which CPUs are brought online at kernel boot time, since CPUs may
have nonuniform performance characteristics. Thus, add bootcpus kernel
parameter to control which CPUs should be brought online during kernel
boot. When both maxcpus and bootcpus is set, the more restrictive of the
two are booted.

What for? 'maxcpus' is a debug hack at best and outright dangerous on
certain architectures. Why do we need more of that? Just let the machine
boot and offline the CPUs from user space.

Hi Thomas and Peter,

Based on my understanding with maxcpus option provides, maximum no of CPUs are brough up during the device boot up. There is a different case, in which we want to restrict which CPUs to be brough up.
On a system with 8 cpus, if we set maxcpus as 3, cpu0, cpu1, and cpu2 are brough up during the bootup. For example, if we want to bring core0, core3 and core4 current maxcpu(as 3) setting would not help us.
On some platform we want the flexibility on which CPUs to bring up during the device bootup. bootcpus command line is helping to bring specific CPUs and these patches are working downstream.


Thanks,

tglx