The Linux kernel 7.3 release cycle brings significant updates to processor core recognition, particularly for AMD and Intel architectures. These changes introduce dedicated support for new low-power CPU core types from AMD and streamline the handling of various vendor-specific core types across different manufacturers.
Support for AMD Low-Power Cores
A key addition to the kernel is the formal integration of a new “low power” CPU core type from AMD. This type is designed to complement existing “performance” and “efficiency” cores, similar to the core variants seen in Zen 4C/5C processors. Previously discussed, the inclusion of this low-power core type, which is anticipated for future Zen 6 clients, has been merged into the Linux 7.3 merge window.
Specifically, the update to the x86/cpu area adds the identifier “AMD_CPU_TYPE_LOW_POWER.” This enables the kernel to correctly recognize these upcoming low-power cores, preventing them from being incorrectly classified as an “unknown” core type.
Standardization of Core Types
In addition to supporting new AMD hardware, the kernel has significantly unified how CPU core types are managed by mapping various vendor-specific designations to generic core types. This standardization effort was prompted by the Sashiko AI bot, which identified inconsistencies and confusion among the differing number formats used for CPU core types across vendors.
Other x86 Kernel Improvements
The merged changes also included several other important optimizations and updates for the x86 architecture.
Memory and Compatibility Fixes
Improvements were made to the x86/core area, including a minor optimization targeted at older AMD Athlon XP systems. This enhancement ensures the use of the `SFENCE` instruction within the write memory barrier kernel code for CPUs that support SSE but lack SSE2 support.
Furthermore, the kernel incorporates a KCFI optimization designed to provide benefits to older Intel processors.
MSR Interface Modernization
A separate x86 change merged into Linux 7.3 updates the handling of Model Specific Registers (MSRs). The updates transition the use of MSR interfaces from 32-bit to 64-bit formats. This change is implemented to simplify the underlying code base. It is noted that the 32-bit model specific register interfaces are expected to be entirely deprecated during the Linux 7.4 release cycle.