March 7, 2026

PBX Science

VoIP & PBX, Networking, DIY, Computers.

ARM64 Linux Kernel Development Faces Opposition to Microarchitecture-Specific Optimizations

ARM64 Linux Kernel Development Faces Opposition to Microarchitecture-Specific Optimizations



The 64-bit ARM Linux kernel team opposes CPU-specific optimizations because they are challenging to maintain..

In the Linux x86_64 kernel, optimizations for specific microarchitectures are widespread, with various performance techniques applied to Intel and AMD CPU series.

However, maintainers of the ARM64 Linux kernel resist introducing new microarchitecture-specific optimizations because they could impact new ARM processors.

ARM64 Linux Kernel Development Faces Opposition to Microarchitecture-Specific Optimizations

Ampere Computing has submitted a set of four patches to optimize its new AmpereOne server processor. These patches aim to benefit the performance of these high-core-count ARM server processors, particularly when using 4K page sizes. Reports indicate significant gains, up to “1.3 ~ 1.4 times” in continuous read performance tests when using HugeTLB or Tmpfs.

While these improvements are exciting for enhancing AmpereOne Linux performance, it appears that this work will not be merged into the mainline Linux kernel.

Renowned ARM Linux kernel developer Will Deacon shared his perspective on the performance-enhancing patches for the AmpereOne CPU:

“We tend to avoid microarchitecture optimizations in the arm64 kernel because they are challenging to maintain, difficult to test correctly, often result in bloat, and add extra barriers to updating our libraries.

Indeed, we’ve provided some help for Thunder-X1 in copy_page() (masquerading as ARM64_HAS_NO_HW_PREFETCH), but frankly, that machine needs all the help it can get.

So, I really don’t want to merge it; modern CPUs should do better in copying data. This is copy_to_user(), not rocket science.”

ARM’s Mark Rutland agrees with Deacon and supports the removal of targeted optimizations for Thunder-X1. Kernel developer Marc Zyngier also agrees and is working on a patch to eliminate specific code for Thunder-X1.

To maintain code maintainability and avoid complicating the ARM64 Linux kernel codebase, they are no longer pursuing specific optimizations for CPU/microarchitecture.

The future will reveal whether any ARM Linux distributions will carry such patches themselves or if Linux distributions optimized for AmpereOne will continue to progress.

This is particularly noteworthy considering Ampere’s focus on high-performance and energy-efficient ARM Linux servers, likely aiming to compete with AMD EPYC and Intel Xeon servers without leaving traces of optimizations.


About ARM64 Linux.

 
 

ARM64 Linux refers to the version of the Linux operating system that is designed to run on systems based on ARMv8-A architecture, commonly known as ARM64 or AArch64.

ARM architecture is prevalent in mobile devices, embedded systems, and increasingly in server environments due to its energy efficiency and performance capabilities.

Here are some key aspects of ARM64 Linux:

  1. Architecture:

    • ARM64 is a 64-bit architecture, offering improved performance and memory addressing capabilities compared to its 32-bit predecessor (ARMv7).
    • ARM64 Linux is designed to take full advantage of the 64-bit architecture, supporting larger memory spaces and more efficient processing.
  2. Server Deployment:

    • ARM64 has gained traction in the server market as an alternative to traditional x86 architectures. ARM-based servers are known for their energy efficiency and are well-suited for certain workloads, such as web servers and cloud computing.
  3. Linux Kernel Support:

    • The Linux kernel includes support for ARM64 architecture, allowing the operating system to run on a wide range of ARM64-based devices and systems.
    • The ARM64 Linux kernel is actively maintained, with contributions from the open-source community and support from major hardware vendors.
  4. Distributions:

    • Various Linux distributions offer ARM64 versions, allowing users to run familiar distributions on ARM-based devices. Examples include Ubuntu, Fedora, Debian, and CentOS, among others.
  5. Software Ecosystem:

    • Many software packages and applications have been ported to ARM64 architecture, ensuring compatibility with ARM64 Linux distributions. However, some software may require adjustments or recompilation to run optimally on ARM64.
  6. Performance Considerations:

    • ARM64 Linux is known for its power efficiency, making it suitable for devices with limited power resources. However, performance characteristics can vary depending on the specific ARM64 processor and workload.
  7. Community and Development:

    • The ARM64 Linux community actively collaborates on kernel development, device support, and optimizations. This collaborative effort ensures that ARM64 Linux remains robust and well-supported across a diverse range of hardware.
  8. Server Competition:

    • ARM64-based servers, such as those powered by processors from companies like Ampere, have emerged as alternatives to x86 servers. This competition is driven by the desire for energy-efficient data centers and increased diversity in the server market.

Overall, ARM64 Linux plays a crucial role in expanding the reach of the Linux operating system to a variety of devices and architectures, offering an alternative platform for both developers and end-users.

ARM64 Linux Kernel Development Faces Opposition to Microarchitecture-Specific Optimizations


Windows Software Alternatives in Linux


Disclaimer of pbxscience.com

PBXscience.com © All Copyrights Reserved. | Newsphere by AF themes.