Running The AMD "ABBA" Ryzen 3000 Boost Fix Under Linux With 140 Tests
Last week AMD's AGESA "ABBA" update began shipping with a fix to how the boost clock frequencies are handled in hopes of better achieving the rated boost frequencies for Ryzen 3000 series processors. I've been running some tests of an updated ASUS BIOS with this adjusted boost clock behavior to see how it performs under Linux with a Ryzen 9 3900X processor.
The AGESA 18.104.22.168 ABBA update has an improved boost clock frequency algorithm along with changes to the idle state handling. This AGESA update should better position AMD Ryzen 3000 processors with the boost clock behavior expected by users with better hitting the maximum boost frequency and doing so more aggressively.
Going into this we were curious about the impact for Linux users considering there isn't yet a mainlined AMD CPPC driver among other differences compared to Microsoft Windows. But so far this ABBA update is showing similar benefits to what has been found under Windows.
This initial round of testing with the Ryzen 9 3900X was done in conjunction with an ASUS ROG CROSHAIR VIII HERO WiFi motherboard using its 0803 update and then the newly-released 1001 update that pulls in the AGESA 22.214.171.124 ABBA revision.
Via the Phoronix Test Suite I ran 140 different tests for seeing the performance impact between these BIOS revisions with the new AGESA. All of the other software and hardware components were maintained the same throughout testing.
In addition to looking at how the raw performance changed for 140 benchmarks, the Phoronix Test Suite was keeping track of the peak CPU frequency. To the Phoronix Test Suite I added a new "cpu.peak-freq" virtual sensor that unlike "cpu.freq" just keeps track of the peak CPU frequency across all cores, rather than the overhead and data overload of recording all the CPU core frequencies. That cpu.peak-freq sensor is currently in Phoronix Test Suite Git and for the uninitiated the different sensors can be activated via the "MONITOR=cpu.peak-freq" environment variable for plotting during the course of benchmarking. The phoronix-test-suite system-sensors command shows all of the available sensors supported on a given system.
Let's take a look at the impact of the 126.96.36.199 ABBA update on Ubuntu Linux.