AnsweredAssumed Answered

ryzen on linux and turbo boost xfr

Question asked by spieiga on Jul 1, 2017
Latest reply on Feb 2, 2019 by alvir

I have a Ryzen 1700X running (no OC).  In windows, I see clock speeds vary from ~2GHz (idle) to 3.9GHz (full load, 3.4 stock + 400MHz boost + 100MHz XFR).

 

However, in Debian linux with kernel 4.11 with the ondemand governor, I don't see the same scaling limits.

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
3400000 3000000 2200000

 

Under idle, I see 2.2GHz, but then it maxes out at 3.4GHz.  I never see it boost.

 

Is Turbo Boost + XFR only a Windows thing right now?

 

EDIT:

https://www.kernel.org/doc/Documentation/cpu-freq/boost.txt

Unfortunately, I do not have

/sys/devices/system/cpu/cpufreq/boost

so that means the acpi_cpufreq driver thinks the Ryzen does not support boost.  Although, in each individual cpu policy (/sys/devices/system/cpu/cpufreq/policy0), I do see a cpb and it is set to 0.  The cpb is supposed to be for older legacy AMD processors, but I'm wondering if Ryzen still supports cpb, or it has to be the boost file in ../cpufreq

 

EDIT2:

I tried writing 1 to cpb, but I kept getting an invalid argument error.

Anyway, so it seems that you can't actually rely on the information in /proc and /sys to give you accurate realtime speeds of your clock.

Geekblog: Check if AMD's Turbo Core is working on Linux

This helped me see what the clocks were actually performing at.  Ryzen only boosts certain cores temporarily.  I could see on average the core clocks were >3.4Ghz

However, there should still exist /sys/devices/system/cpu/cpufreq/boost, so I reached out to the acpi-cpufreq developer to see why AMD Ryzen is not being recognized as supporting boost.

Outcomes