Processor turbo dsiabled/throttled after suspend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Medium
|
Unassigned | ||
thermald (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
After suspending/resuming my laptop on battery power, I noticed choppy video playback. I've narrowed it down to the CPU being locked to lower frequencies after suspend/resume (only on battery). Plugging the laptop back in does not restore the normal performance, nor does suspend/resume after plugging it back in. The performance doesn't drop until after the suspend/resume, I'm not sure if it is _supposed_ to throttle when on battery, but either way the behaviour is wrong.
Doing a full shutdown and restart restores the performance to normal.
Prior to a suspend/resume cycle, cpupower reports:
$ sudo cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 3.00 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 800 MHz and 3.00 GHz.
current CPU frequency: Unable to call hardware
current CPU frequency: 1.26 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes
2800 MHz max turbo 4 active cores
2800 MHz max turbo 3 active cores
2800 MHz max turbo 2 active cores
3000 MHz max turbo 1 active cores
Afterwards, the frequency is clamped (cpufreq-set -r --max=3.0GHz has no effect) and turbo is disabled:
$ sudo cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 3.00 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 800 MHz and 1.80 GHz.
current CPU frequency: Unable to call hardware
current CPU frequency: 950 MHz (asserted by call to kernel)
boost state support:
Supported: no
Active: no
2800 MHz max turbo 4 active cores
2800 MHz max turbo 3 active cores
2800 MHz max turbo 2 active cores
3000 MHz max turbo 1 active cores
Trying to re-enable turbo mode by setting the no_turbo intel_pstate /sys/ entry back to 0 is rejected:
$ echo 0 | sudo tee /sys/devices/
0
tee: /sys/devices/
However, these two commands *do* work around the problem, forcing turbo mode back on and then restoring the normal frequency range:
sudo x86_energy_
sudo cpufreq-set -r --min=0.8GHz --max=3.0GHz
I also see this error in dmesg after some resumes (but the above problem sometimes happens without this error message):
Dec 16 11:36:25 shauns-laptop kernel: intel_pstate: Turbo disabled by BIOS or unavailable on processor
ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: linux-image-
ProcVersionSign
Uname: Linux 4.13.0-19-generic x86_64
ApportVersion: 2.20.7-0ubuntu3.6
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CurrentDesktop: ubuntu:GNOME
Date: Sat Dec 16 11:18:12 2017
InstallationDate: Installed on 2017-12-14 (1 days ago)
InstallationMedia: Ubuntu 17.10 "Artful Aardvark" - Release amd64 (20171018)
Lsusb:
Bus 001 Device 004: ID 2232:1024 Silicon Motion
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: SAMSUNG ELECTRONICS CO., LTD. 900X3C/
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.169.1
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/12/2012
dmi.bios.vendor: Phoenix Technologies Ltd.
dmi.bios.version: P03AAC
dmi.board.
dmi.board.name: SAMSUNG_
dmi.board.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.board.version: FAB1
dmi.chassis.
dmi.chassis.type: 9
dmi.chassis.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.chassis.
dmi.modalias: dmi:bvnPhoenixT
dmi.product.family: ChiefRiver System
dmi.product.name: 900X3C/
dmi.product.
dmi.sys.vendor: SAMSUNG ELECTRONICS CO., LTD.
Changed in linux (Ubuntu): | |
status: | Expired → New |
tags: | added: cscc |
Just tried another scenario. If I do the full power cycle while on battery power, then it boots up with turbo disabled and frequency locked. This command then seems to work (cpupower then reports turbo is active/supported):
sudo x86_energy_ perf_policy --turbo-enable 1
But this command has no effect:
sudo cpufreq-set -r --min=0.8GHz --max=3.0GHz
(Where, int he previous scenario, it did work.)