The AMD Hardware Feedback Driver has been queued up via a TIP branch for expected merging during the upcoming Linux 6.17 kernel cycle. This new open-source AMD driver is designed to help make the kernel’s scheduler make better decisions around task placement for heterogeneous processor designs with a mix of the “classic” and “dense” cores.
Being worked on for nearly the past year has been this new AMD heterogeneous core driver for Linux that implements the AMD Hardware Feedback Interface (HFI) for providing better performance and efficiency with recent AMD Ryzen processors featuring a mix of classic and dense cores. These AMD Ryzen processors have already been performing well on Linux while with this new driver set to be mainlined should help out systems even more with ensuring optimal task scheduling.
The driver patch sums up the AMD Hardware Feedback Driver as:
“The AMD Heterogeneous core design and Hardware Feedback Interface (HFI) provide behavioral classification and a dynamically updated ranking table for the scheduler to use when choosing cores for tasks.
There are two CPU core types defined: Classic and Dense. Classic cores are the standard performance cores, while Dense cores are optimized for area and efficiency.
Heterogeneous compute refers to CPU implementations that are comprised of more than one architectural class, each with two capabilities. This means each CPU reports two separate capabilities: “perf” and “eff”.
Each capability lists all core ranking numbers between 0 and 255, where a higher number represents a higher capability.
Heterogeneous systems can also extend to more than two architectural classes.
The purpose of the scheduling feedback mechanism is to provide information to the operating system scheduler in real time, allowing the scheduler to direct threads to the optimal core during task scheduling.
All core ranking data are provided by the PMFW via a shared memory ranking table, which the driver reads and uses to update core capabilities to the scheduler. When the hardware updates the table, it generates a platform interrupt to notify the OS to read the new ranking table.”
AMD Linux engineers spent a lot of time refining and tuning the Hardware Feedback (Interface) driver and it looks like it will finally be ready for the mainline kernel in Linux 6.17.
The AMD Hardware Feedback Driver patches were queued yesterday into the tip/tip.git’s x86/platform branch. With the driver patches making it into the x86/platform TIP branch, it’s likely to be submitted for the Linux 6.17 merge window opening soon barring any last minute issues or code critiques by Linus Torvalds or others. With the patches, the new driver is gated by the “AMD_HFI” Kconfig switch.
The Linux 6.17 merge window should be open around early August while the stable kernel should be out around early October. I’ll be working on some AMD Hardware Feedback Linux driver benchmarks once the v6.17 kernel cycle is underway.