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

From: Christoph Lameter (Ampere)
Date: Tue Nov 28 2023 - 13:02:52 EST


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.