AMD Lets Linux Read True CPU Max Frequency Directly
AMD has submitted a new Linux kernel patch that allows operating systems to read the true maximum boost frequency of each CPU core directly from firmware, eliminating the need for inaccurate software-based estimation. The feature, called CPPC HighestFreq, is expected to eventually make its way to Windows 11, where it could significantly improve how the OS schedules workloads across cores.
Key Takeaways
- AMD engineer Mario Limonciello submitted the Linux kernel patch on May 4, 2025
- The patch introduces support for the CPPC HighestFreq register, enabling direct firmware-to-OS frequency reporting
- Current operating systems rely on linear interpolation of abstract performance values to estimate boost behavior — a method that is increasingly inaccurate on modern Ryzen chips
- The feature targets the AMD P-State driver in the Linux kernel
- Windows 11 is expected to benefit from the same underlying technology in a future update
- Different cores on newer Ryzen processors have non-linear performance-to-frequency mappings, making legacy estimation unreliable
Why Current Frequency Estimation Falls Short
Today, neither Windows nor Linux can directly read a CPU's actual boost frequency from firmware. Instead, both operating systems rely on CPPC (Collaborative Processor Performance Control), a standardized interface that provides abstract performance values rather than concrete frequency numbers.
The OS then uses linear interpolation to estimate what frequency each core can actually reach based on these abstract values. For years, this approach worked well enough because the relationship between CPPC performance numbers and real-world frequencies was roughly linear.
However, modern Ryzen processors have broken this assumption. On newer AMD chips, different cores exhibit non-linear performance-to-frequency mapping. A core rated at 80% performance in CPPC does not necessarily run at 80% of the maximum frequency. This discrepancy means the OS may misjudge which core is fastest, leading to suboptimal thread scheduling decisions.
How AMD's CPPC HighestFreq Patch Works
The patch submitted by Mario Limonciello, a well-known AMD open-source engineer, introduces support for a specific hardware register called CPPC HighestFreq. This register stores the actual maximum boost frequency that each core can achieve, as determined by the CPU's own firmware.
By reading this register directly, the operating system no longer needs to guess or interpolate. It receives a concrete frequency value — in megahertz — for each individual core. This is a fundamental shift from the current approach, where the OS works with unitless performance indices and must infer frequency behavior.
The patch modifies the AMD P-State driver, which is the primary frequency scaling driver for AMD processors in the Linux kernel. The P-State driver already handles dynamic frequency and voltage adjustments, but until now it has lacked access to precise per-core maximum frequency data.
Key technical details of the patch include:
- Direct reading of the HighestFreq register via ACPI/CPPC firmware interface
- Per-core granularity, meaning each core reports its own true maximum
- Elimination of linear interpolation for boost frequency calculation
- Backward compatibility with older processors that lack the register
- Integration with the existing amd-pstate-epp (Energy Performance Preference) driver mode
The Impact on Linux Performance and Scheduling
For Linux users — particularly those running workstation, server, or gaming workloads — this patch could deliver meaningful performance improvements without any hardware changes. The key benefit lies in improved scheduler accuracy.
Linux's CFS (Completely Fair Scheduler) and its newer EEVDF replacement both make decisions about which core should run a given task. When the scheduler knows the true maximum frequency of each core, it can place latency-sensitive or performance-critical threads on the fastest available cores.
On processors like AMD's Ryzen 9000 series and EPYC server chips, not all cores are created equal. Some cores — often designated as 'preferred cores' — can boost higher than others. If the OS underestimates the frequency delta between cores, it may place a critical workload on a slower core, leaving performance on the table.
This is especially relevant for:
- Single-threaded gaming workloads that benefit from the fastest available core
- Real-time and latency-sensitive applications in professional audio, video editing, and financial trading
- Server environments where per-core performance awareness affects VM and container scheduling
- Power efficiency scenarios where the OS can more accurately balance performance against energy consumption
- Hybrid workloads mixing heavy and light threads across heterogeneous core configurations
Windows 11 Could Be Next in Line
While the patch currently targets the Linux kernel, industry observers expect the same CPPC HighestFreq mechanism to be adopted by Windows 11 in a future update. Microsoft and AMD have a long history of collaborating on CPU scheduling improvements, most notably with the introduction of the preferred core ranking system that debuted alongside AMD's Ryzen processors.
Windows 11 already uses CPPC data to identify preferred cores, but it still relies on the same interpolation-based frequency estimation that Linux currently uses. If Microsoft integrates direct HighestFreq register reading into the Windows scheduler, it could improve gaming performance and application responsiveness — 2 areas where Windows is the dominant platform.
The timing aligns with Microsoft's broader push to optimize Windows 11 for heterogeneous computing. With Intel's hybrid architecture (P-cores and E-cores) and AMD's variable boost behavior across cores, operating systems must become smarter about understanding the true capabilities of each core.
AMD's approach here is notably different from Intel's. Intel uses Thread Director, a hardware-level scheduler hint system built into its hybrid CPUs, to guide the OS. AMD's CPPC HighestFreq takes a more transparent approach by simply exposing raw frequency data and letting the OS make its own decisions.
Industry Context: The Race for Smarter CPU Scheduling
This development fits into a broader industry trend where hardware-software co-design is becoming increasingly important for extracting peak performance from modern processors. As CPUs grow more complex — with varying core capabilities, dynamic boost algorithms, and power constraints — the OS can no longer treat all cores as identical.
Intel recognized this with its 12th-generation Alder Lake processors, which introduced a fundamentally heterogeneous design requiring deep OS integration. AMD has maintained a more homogeneous core design but still faces the challenge of communicating per-core boost differences to the OS accurately.
The Linux kernel community has been particularly active in this space. Recent kernel versions have introduced improved energy-aware scheduling, better NUMA (Non-Uniform Memory Access) topology handling, and refined frequency governor algorithms. AMD's CPPC HighestFreq patch adds another piece to this puzzle.
For the data center market, where AMD's EPYC processors compete fiercely with Intel's Xeon lineup, accurate per-core frequency reporting could influence how cloud providers schedule workloads. Companies like AWS, Google Cloud, and Microsoft Azure — all of which offer AMD-based instances — could benefit from more precise core-level performance data.
What This Means for End Users and Developers
For everyday users, this change is largely invisible but potentially impactful. Gamers running Linux (a growing demographic thanks to Steam Deck and Proton) may see slight improvements in frame pacing and minimum frame rates as the scheduler becomes better at placing game threads on the fastest cores.
Developers building performance-sensitive applications should be aware that the OS will soon have access to more accurate per-core frequency data. This could affect:
- Thread affinity strategies in multi-threaded applications
- Benchmarking accuracy as reported frequencies become more precise
- Power management tuning in battery-powered devices like laptops
- Containerized workloads where CPU resource allocation depends on accurate performance metrics
System administrators managing AMD-based servers will want to update their kernels once the patch is merged to take advantage of improved scheduling accuracy.
Looking Ahead: Timeline and Next Steps
The patch is currently under review by the Linux kernel maintainers. Given AMD's strong track record with upstream Linux contributions, it is likely to be accepted and merged within the next 1 to 2 kernel release cycles. This means Linux users could see the feature land in kernel 6.12 or 6.13, potentially arriving in mainstream distributions by late 2025 or early 2026.
For Windows 11, the timeline is less clear. Microsoft typically integrates such changes through cumulative updates or major feature releases. A reasonable estimate would place Windows 11 support in a 2026 update, though Microsoft has not publicly commented on the feature.
AMD's move signals that the company is investing heavily in software-level optimizations to complement its hardware advances. As the Ryzen 9000 series and next-generation Zen 6 architecture approach, accurate frequency reporting will become even more critical as boost algorithms grow increasingly sophisticated.
This is not a flashy feature that will dominate headlines, but it represents the kind of foundational improvement that compounds over time — making CPUs not just faster in silicon, but smarter in how they communicate their capabilities to the software running on them.
📌 Source: GogoAI News (www.gogoai.xin)
🔗 Original: https://www.gogoai.xin/article/amd-lets-linux-read-true-cpu-max-frequency-directly
⚠️ Please credit GogoAI when republishing.