Ampere Computing Revolutionizes ARM64 Linux Kernel Core Support

Ampere Computing proposes changes to the ARM64 Linux kernel to support higher CPU core counts, aiming to optimize memory usage and enhance system efficiency.
Ampere Computing Revolutionizes ARM64 Linux Kernel Core Support

Ampere Computing Proposes Changes to ARM64 Linux Kernel

Ampere Computing, a key player in the tech industry, is making waves with its latest endeavor to enhance the ARM64 Linux kernel’s core support. The company is on a mission to increase the number of Arm CPU cores that the mainline Linux kernel can handle. Currently, the kernel build supports 256 cores, but with Ampere’s innovative AmpereOne processors, this limit is set to be surpassed in a multi-socket configuration.

The challenge faced by Ampere Computing lies in the restrictions imposed by the current ARM64 Linux kernel. The 256 core limit poses a significant obstacle, especially with the AmpereOne CPUs boasting up to 192 physical cores per socket. In a dual socket setup, this limit is quickly exceeded, prompting the need for a change.

With the introduction of proposed patches, Ampere Computing aims to raise the core limit to an impressive 8,192 or a more conservative 512 CPU cores when CPUMASK_OFFSTACK is enabled. This adjustment is not merely about numbers; it’s a strategic move to optimize memory usage. Each supported CPU core adds around 8KB to the kernel image size, making efficiency a top priority.

The utilization of the CPUMASK_OFFSTACK kernel option is pivotal in this enhancement. By enabling the kernel to allocate and free bitmaps for CPU masks from slab memory, the system can dynamically adjust the allocation based on the number of CPU cores present during boot. This dynamic sizing ensures optimal resource allocation and utilization.

Ampere Computing Ampere Computing’s Innovation

The AmpereOne hardware, although currently in short supply, has already sparked anticipation within the tech community. While Phoronix is yet to receive review hardware, the impending change in the mainline Linux kernel is a significant step forward. This modification is not only justified but long overdue, considering the evolving landscape of high-end Arm servers.

In a similar vein, a previous attempt in 2021 to increase the ARM64 kernel CPU core limit to 512 was met with resistance from ARM Linux maintainers. The proposal was deemed premature for unreleased hardware at the time. Consequently, the latest patchwork from Ampere Computing is slated for integration no earlier than Linux 6.8 in early 2024. This timeline, though reasonable, may pose challenges for ARM Linux server distributions aiming to align with mainstream kernel defaults.

It was approximately six months ago that Ampere Computing first unveiled the AmpereOne processors, boasting up to 192 cores. This unveiling marked a significant milestone in the company’s journey towards redefining CPU capabilities.

Notably, the existing mainline kernel for Linux x86_64 supports up to 8,192 cores with CPUMASK_OFFSTACK or 512 cores under different conditions. This disparity underscores the importance of the proposed changes by Ampere Computing in bridging the gap and ensuring uniform support across architectures.

In conclusion, Ampere Computing’s proactive approach to enhancing the ARM64 Linux kernel sets a precedent for innovation in the tech industry. By pushing the boundaries of core support and memory efficiency, the company is paving the way for a new era of high-performance computing.


About the Author

Michael Larabel, the principal author of Phoronix.com, is a seasoned tech journalist with a passion for Linux hardware. Since founding the site in 2004, Michael has been at the forefront of enriching the Linux hardware experience through insightful articles and in-depth analysis. With over 20,000 articles to his name, Michael is a leading authority in the realm of Linux performance, graphics drivers, and benchmarking software.