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

Bug #1427330 reported by Marc Rene Schädler
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
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

Revision history for this message
Marc Rene Schädler (suaefar) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → High
penalvch (penalvch)
tags: added: bios-outdated-1.06 regression-update
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
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
Revision history for this message
penalvch (penalvch) wrote :

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
Revision history for this message
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.

Revision history for this message
penalvch (penalvch) wrote :

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
Revision history for this message
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.

Revision history for this message
Marc Rene Schädler (suaefar) wrote :

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

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.