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.