You are not logged in.

#1 2016-04-14 21:02:02

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

[Solved]AMD Turbo boost doesn't work for A8-7600 Desktop CPU

Hello all,

I bought new CPU and motherboard for my PC. I decided to switch to FM2+ in order to use APU unit. So my CPU consists of graphics card Radeon R7 and 4 CPU threads :

model name    : AMD A8-7600 Radeon R7, 10 Compute Cores 4C+6G
using motherboard Asrock A88M-G/3.1

UEFI configuration program reports that CPU can scale up to 3800Mhz, Cool&Quiet is enabled, AMD Turbo Boost is enabled, no overlocking was made, all timings and multipliers are set to AUTO.

It's all working under: Linux linux 4.5.0-1-ARCH #1 SMP PREEMPT Tue Mar 15 09:41:03 CET 2016 x86_64 GNU/Linux

My CPU is scaled automatically by kernel on following frequencies:
available frequency steps:  3.10 GHz, 2.80 GHz, 2.40 GHz, 1.90 GHz, 1.40 GHz

BUT in Turbo mode (http://askubuntu.com/questions/459788/h … untu-14-04) I should have possibility to rise it's frequency up to 3,8GHz. I used

cpupower frequency-info

and I got information that:

boost state support:
    Supported: yes
    Active: no

So I followed google instructions and I changed my kernel boot parameters, adding radeon.bapm=1 to my /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.bapm=1"

then I regenerated grub's config file and reinstalled it according to: https://wiki.archlinux.org/index.php/GR … ll_to_disk

Now I can see that boost is actually supported and active:

[root@linux mk]# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 4.0 us
  hardware limits: 1.40 GHz - 3.10 GHz
  available frequency steps:  3.10 GHz, 2.80 GHz, 2.40 GHz, 1.90 GHz, 1.40 GHz
  available cpufreq governors: ondemand performance
  current policy: frequency should be within 1.40 GHz and 3.10 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 1.40 GHz (asserted by call to hardware)
  boost state support:
   Supported: yes
    Active: yes <<<<<<<<<<<<<<<<<<<<<<< HERE
    Boost States: 3
    Total States: 8
    Pstate-Pb0: 3800MHz (boost state)
    Pstate-Pb1: 3700MHz (boost state)
    Pstate-Pb2: 3300MHz (boost state)
    Pstate-P0:  3100MHz
    Pstate-P1:  2800MHz
    Pstate-P2:  2400MHz
    Pstate-P3:  1900MHz
    Pstate-P4:  1400MHz

However, it doesn't work. I tested it with mprime torture test and frequency reported by cpupower frequency-info never exceeds 3,1Ghz.

I read further and I found information about BIOS limits (http://webcache.googleusercontent.com/s … clnk&gl=pl). Truely, I have such a limit set, as it can be seen in this file:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
3100000

So I override this with /etc/modprobe.d/ignore_ppc.conf:

options processor ignore_ppc=1

After that it is even worse:  I run mprime and cpupower frequency-info shows me the same output, but current CPU frequency never exceeds 2,4GHz.

So my question is: how to enable Turbo Core on AMD CPU under Linux?

I'm using radeon driver (it's important because it is used by kernel to do the magic).

Last edited by mkkot (2016-04-19 16:12:33)

Offline

#2 2016-04-15 14:41:54

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: [Solved]AMD Turbo boost doesn't work for A8-7600 Desktop CPU

I tried again today. cpupower frequency-info doesn't show 2,4GHz but 3,1GHz. I must have done something wrong yesterday. However, still no boost...

// edit

I came to the conclusion that CPU needs to have some free power to "boost" frequency, so I tried with less threads stressing the CPU. I tried with 1, 2 and 3 threads but unfortunately 3,1GHz is the ultimate barrier hmm

// edit

Not hoping for much, I wrote to AMD:

Hello,

I bought your CPU AMD A8 7600 (AD7600YBJABOX), my motherboard is Asrock A88M-G/3.1.

I really didn't expect that my CPU clock frequency will be lowered just because I'm using Linux. My CPU is supposed to go up to 3,8GHz with Turbo Core technology but all I get is 3,1GHz because it seems that something is not properly initialized by radeon driver. Yeah, of course, I could use Catalyst driver, but it's so outdated that it wouldn't work anyway.

I would be happy if some Linux driver developer would take a look and say what is wrong with my approach or provide documentation for open source driver team if Linux kernel is broken at this point:

https://bbs.archlinux.org/viewtopic.php?id=211368

//edit


AMD responded my distribution is not supported. Anyway, I found the problem, it was my approach.

I was checking my CPU frequency with cpupower frequency-info:

  current CPU frequency: 1.90 GHz (asserted by call to hardware)

And this wasn't the best idea, I should have used:

watch -n 0,5 cpupower monitor

    |Mperf
CPU | C0   | Cx   | Freq
   0| 10,67| 89,33|  3329
   1| 99,50|  0,50|  3362
   2| 13,56| 86,44|  1821
   3| 13,60| 86,40|  1943

As you can see there, I have 3,3GHz, while my CPU is 3,1GHz. Not much of a boost (using mprime) but at least it works.

Last edited by mkkot (2016-04-19 16:11:56)

Offline

Board footer

Powered by FluxBB