[PATCH ARM64]: Introduce CONFIG_MAXSMP to allow up to 512 cpus

Christoph Lameter (Ampere) cl at linux.com
Tue Nov 28 10:02:45 PST 2023


On Tue, 28 Nov 2023, Anshuman Khandual wrote:

>
>
> On 11/21/23 06:34, Christoph Lameter (Ampere) wrote:
>> Ampere Computing develops high end ARM processors that support an ever
>> increasing number of processors. The current default of 256 processors is
>> not enough for our newer products. The default is used by Linux
>> distros and therefore our customers cannot use distro kernels because
>> the number of processors is not supported.
>
> In the previous thread mentioned below, Catalin had mentioned that the
> distros do tweak the config for their needs. The default is applicable
> for an wide range systems, hence just wondering why default NR_CPUS be
> changed for all.

We would like the standard kernel to be able to boot on our systems and 
those have more than the current NR_CPU processors. The distros only 
tweaks things on request and with this change the tweaking is no longer
necessary.

> Also just curious, what might be the concern for distros to have large
> platform specific configs overriding the default.

There are numerous distributions as well as individuals who built kernels. 
It is surprising if someone builds an upstream kernel with the defaults 
that should fit all supported platforms only to find that only a portion 
of their cpus come up. The work of discovery why this is and how to fix it 
has to be done by numerous individuals and organizations in order to 
enable all cpus. That work is not necessary if the default is such that a 
sufficient number of processors are supported by the default configuration 
accommodating all ARM hardware.

The CONFIG_MAXSMP configuration on X86 was developed exactly for these 
situations and we have a special KCONFIG option to have potentially large 
bitmaps for cpus allocated as needed in the kernel core. The patch enables 
the use of that facility.





More information about the linux-arm-kernel mailing list