AMD Kaveri APU/CPU frequency scaling not working on linux 3.19

Bug #1427330 reported by Marc Rene Schädler on 2015-03-02
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Unassigned

Bug Description

A few days ago, when Vivid was still at Linux 3.18 I tried the Linux 4.0-rc1 kernel from mainline and noticed that CPU frequency scaling would have no effect on the actual processor speed. I went back to 3.18 and everything worked fine.

Now Ubuntu 15.04 moved to Linux 3.19 and it happens to have the same problem as with 4.0-rc1 from mainline.

The cpufreq indicator shows that the frequencies are adapted but
> watch sudo cpupower monitor
reveals that the AMD A10 PRO-7350B CPUs are stuck at the lowest frequency level (about 1.1GHz).

This observation is confirmed by a quick benchmark using octave.
The following line is executed on Linux 3.18 in less than 4 seconds, while on Linux 3.19 it needs more than 8 seconds to complete.
> time echo "a=rand(3000);a*a;" | octave -q

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: linux-image-3.19.0-7-generic 3.19.0-7.7
ProcVersionSignature: Ubuntu 3.19.0-7.7-generic 3.19.0
Uname: Linux 3.19.0-7-generic x86_64
ApportVersion: 2.16.2-0ubuntu1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: marc 2515 F.... pulseaudio
 /dev/snd/controlC0: marc 2515 F.... pulseaudio
CurrentDesktop: Unity
Date: Mon Mar 2 19:04:32 2015
EcryptfsInUse: Yes
InstallationDate: Installed on 2015-02-23 (7 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Alpha amd64 (20150219)
MachineType: Hewlett-Packard HP EliteBook 755 G2
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-7-generic root=UUID=1a54cd72-80fc-4716-a62e-4faa5dcc63e9 ro quiet splash vt.handoff=7
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/19/2014
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: M84 Ver. 01.01
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 221C
dmi.board.vendor: Hewlett-Packard
dmi.board.version: KBC Version 63.13
dmi.chassis.asset.tag: CNU426C7YS
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-Packard:bvrM84Ver.01.01:bd05/19/2014:svnHewlett-Packard:pnHPEliteBook755G2:pvrA3009DD10303:rvnHewlett-Packard:rn221C:rvrKBCVersion63.13:cvnHewlett-Packard:ct10:cvr:
dmi.product.name: HP EliteBook 755 G2
dmi.product.version: A3009DD10303
dmi.sys.vendor: Hewlett-Packard

Marc Rene Schädler (suaefar) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → High
tags: added: bios-outdated-1.06 regression-update
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Marc Rene Schädler (suaefar) wrote :

OK. I upgraded the BIOS to the new version and the problem persists.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Marc Rene Schädler, could you please test the latest mainline kernel 4.0-rc2 and advise to the results?

tags: added: latest-bios-1.06
removed: bios-outdated-1.06
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Marc Rene Schädler (suaefar) wrote :

Output of "uname -a"
> Linux marc-ebook 4.0.0-040000rc2-generic #201503031836 SMP Tue Mar 3 18:37:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

I dont know how to get the actual frequency of the processor without "cpupower" which requires some "linux-tools-*" which are not available with the mainline kernel.

Nonetheless the quick benchmark with octave
> time echo "a=rand(3000);a*a;" | octave -q
reports less than 4 seconds, which indicates that the frequency scaling does seem to work with this kernel.

Marc Rene Schädler, the next step is to fully reverse commit bisect from kernel 4.0-rc1 to 4.0-rc2 in order to identify the last bad commit, followed immediately by the first good one. Once this commit has been identified, then it may be reviewed as a candidate for backporting into your release. Could you please do this following https://wiki.ubuntu.com/Kernel/KernelBisection#How_do_I_reverse_bisect_the_upstream_kernel.3F ?

Please note, finding adjacent kernel versions is not fully commit bisecting.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

tags: added: kernel-fixed-upstream kernel-fixed-upstream-4.0-rc2
tags: added: needs-reverse-bisect
Marc Rene Schädler (suaefar) wrote :

If the question is just between 4.0-rc1 and 4.0-rc2 than this is easy: rc1 does not work rc2 does.
If you want me to build kernels myself than I am sorry, but I cannot provide this information at the moment.

Marc Rene Schädler (suaefar) wrote :

Maybe an interesting point:
On Kernel 3.19.0-7 after suspending-to-ram the frequency scaling works.

Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers