2018-04-11 18:24:32 |
Julian Andres Klode |
bug |
|
|
added bug |
2018-04-11 18:26:37 |
Julian Andres Klode |
tags |
|
apport-collected bionic |
|
2018-04-11 18:26:38 |
Julian Andres Klode |
description |
A ThinkPad T480s under windows has a power limit of 44W, both short and long term, with a thermal maximum of about 93C or so. Under Linux, the power limits are 44W and 15W (short) or so, and the thermal limit is 80C, causing a significant performance loss.
Looking at MSR and MCHBAR values, we can see that the values are correctly at 44W in the MSR, but the MCHBAR is set to a lower value:
$ sudo rdmsr -a 0x610
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
$ sudo /home/jak/Downloads/iotools-1.5/iotools mmio_read64 0xfed159a0
0x0042816000dd8078
Setting the MCHBAR to the same value as the MSR register solves the problem. At some point intel-rapl seems to reduce overall frequency to 600 MHz, though.
The thermal limit is configured in MSR register 0x1a2; rdmsr -f 29:24 -d 0x1a2 returns 20. Setting those bits to 7 increases it, resulting in performance comparative to Windows.
Most of the analysis is based on the analysis in
https://www.reddit.com/r/thinkpad/comments/870u0a/t480s_linux_throttling_bug/
This applies to all bionic kernels I have tested so far, including
Ubuntu 4.15.0-13.14-generic 4.15.10 |
A ThinkPad T480s under windows has a power limit of 44W, both short and long term, with a thermal maximum of about 93C or so. Under Linux, the power limits are 44W and 15W (short) or so, and the thermal limit is 80C, causing a significant performance loss.
Looking at MSR and MCHBAR values, we can see that the values are correctly at 44W in the MSR, but the MCHBAR is set to a lower value:
$ sudo rdmsr -a 0x610
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
42816000dd8160
$ sudo /home/jak/Downloads/iotools-1.5/iotools mmio_read64 0xfed159a0
0x0042816000dd8078
Setting the MCHBAR to the same value as the MSR register solves the problem. At some point intel-rapl seems to reduce overall frequency to 600 MHz, though.
The thermal limit is configured in MSR register 0x1a2; rdmsr -f 29:24 -d 0x1a2 returns 20. Setting those bits to 7 increases it, resulting in performance comparative to Windows.
Most of the analysis is based on the analysis in
https://www.reddit.com/r/thinkpad/comments/870u0a/t480s_linux_throttling_bug/
This applies to all bionic kernels I have tested so far, including
Ubuntu 4.15.0-13.14-generic 4.15.10
---
ApportVersion: 2.20.9-0ubuntu4
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/pcmC2D0p: jak 5881 F...m pulseaudio
/dev/snd/controlC2: jak 5881 F.... pulseaudio
/dev/snd/controlC1: jak 5881 F.... pulseaudio
/dev/snd/controlC0: jak 5881 F.... pulseaudio
CurrentDesktop: GNOME
DistroRelease: Ubuntu 18.04
InstallationDate: Installed on 2018-03-14 (28 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180313)
MachineType: LENOVO 20L8S02D00
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: root=/dev/mapper/ubuntu--vg-root ro rootflags=subvol=@ quiet splash vt.handoff=1
ProcVersionSignature: Ubuntu 4.15.0-13.14-generic 4.15.10
RelatedPackageVersions:
linux-restricted-modules-4.15.0-13-generic N/A
linux-backports-modules-4.15.0-13-generic N/A
linux-firmware 1.173
Tags: bionic
Uname: Linux 4.15.0-13-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip kvm lpadmin lxd plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 01/22/2018
dmi.bios.vendor: LENOVO
dmi.bios.version: N22ET31W (1.08 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20L8S02D00
dmi.board.vendor: LENOVO
dmi.board.version: Not Defined
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN22ET31W(1.08):bd01/22/2018:svnLENOVO:pn20L8S02D00:pvrThinkPadT480s:rvnLENOVO:rn20L8S02D00:rvrNotDefined:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad T480s
dmi.product.name: 20L8S02D00
dmi.product.version: ThinkPad T480s
dmi.sys.vendor: LENOVO |
|
2018-04-11 18:26:39 |
Julian Andres Klode |
attachment added |
|
AlsaInfo.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111104/+files/AlsaInfo.txt |
|
2018-04-11 18:26:40 |
Julian Andres Klode |
attachment added |
|
CRDA.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111105/+files/CRDA.txt |
|
2018-04-11 18:26:43 |
Julian Andres Klode |
attachment added |
|
CurrentDmesg.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111106/+files/CurrentDmesg.txt |
|
2018-04-11 18:26:44 |
Julian Andres Klode |
attachment added |
|
IwConfig.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111107/+files/IwConfig.txt |
|
2018-04-11 18:26:45 |
Julian Andres Klode |
attachment added |
|
Lspci.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111108/+files/Lspci.txt |
|
2018-04-11 18:26:46 |
Julian Andres Klode |
attachment added |
|
Lsusb.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111109/+files/Lsusb.txt |
|
2018-04-11 18:26:48 |
Julian Andres Klode |
attachment added |
|
ProcCpuinfo.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111110/+files/ProcCpuinfo.txt |
|
2018-04-11 18:26:49 |
Julian Andres Klode |
attachment added |
|
ProcCpuinfoMinimal.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111111/+files/ProcCpuinfoMinimal.txt |
|
2018-04-11 18:26:50 |
Julian Andres Klode |
attachment added |
|
ProcEnviron.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111112/+files/ProcEnviron.txt |
|
2018-04-11 18:26:52 |
Julian Andres Klode |
attachment added |
|
ProcInterrupts.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111113/+files/ProcInterrupts.txt |
|
2018-04-11 18:26:53 |
Julian Andres Klode |
attachment added |
|
ProcModules.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111114/+files/ProcModules.txt |
|
2018-04-11 18:26:55 |
Julian Andres Klode |
attachment added |
|
PulseList.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111115/+files/PulseList.txt |
|
2018-04-11 18:26:56 |
Julian Andres Klode |
attachment added |
|
RfKill.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111116/+files/RfKill.txt |
|
2018-04-11 18:26:59 |
Julian Andres Klode |
attachment added |
|
UdevDb.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111117/+files/UdevDb.txt |
|
2018-04-11 18:27:38 |
Julian Andres Klode |
attachment added |
|
WifiSyslog.txt https://bugs.launchpad.net/bugs/1763144/+attachment/5111118/+files/WifiSyslog.txt |
|
2018-04-11 18:30:07 |
Ubuntu Kernel Bot |
linux (Ubuntu): status |
New |
Confirmed |
|
2018-04-11 18:30:40 |
Julian Andres Klode |
attachment added |
|
dmesg.txt https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1763144/+attachment/5111120/+files/dmesg.txt |
|
2018-04-11 18:32:40 |
Julian Andres Klode |
summary |
Significantly lower power and thermal limits on T480s (and probably others) than on Windows |
Significantly lower power and thermal limits on ThinkPad T480s (and probably others) than on Windows |
|
2018-04-11 18:36:56 |
Joseph Salisbury |
linux (Ubuntu): importance |
Undecided |
Medium |
|
2018-04-11 18:36:59 |
Joseph Salisbury |
linux (Ubuntu): status |
Confirmed |
Incomplete |
|
2018-04-11 19:01:57 |
Julian Andres Klode |
tags |
apport-collected bionic |
apport-collected bionic bug-exists-upstream |
|
2018-04-11 19:02:00 |
Julian Andres Klode |
linux (Ubuntu): status |
Incomplete |
Confirmed |
|
2018-04-11 19:08:07 |
Julian Andres Klode |
tags |
apport-collected bionic bug-exists-upstream |
apport-collected bionic kernel-bug-exists-upstream |
|
2018-04-12 04:37:46 |
AaronMa |
bug |
|
|
added subscriber AaronMa |
2018-09-03 08:28:27 |
Julian Andres Klode |
linux (Ubuntu): status |
Confirmed |
Invalid |
|
2019-11-08 04:44:19 |
Kai-Heng Feng |
bug task added |
|
thermald (Ubuntu) |
|
2020-02-02 13:51:20 |
Francois Thirioux |
bug watch added |
|
https://github.com/intel/thermal_daemon/issues/215 |
|
2020-02-02 13:51:42 |
Launchpad Janitor |
thermald (Ubuntu): status |
New |
Confirmed |
|
2021-08-26 13:18:59 |
Colin Ian King |
thermald (Ubuntu): importance |
Undecided |
High |
|
2021-08-26 13:19:01 |
Colin Ian King |
thermald (Ubuntu): assignee |
|
Colin Ian King (colin-king) |
|
2021-08-26 13:19:07 |
Colin Ian King |
thermald (Ubuntu): status |
Confirmed |
Incomplete |
|
2021-10-08 14:55:45 |
Colin Ian King |
thermald (Ubuntu): assignee |
Colin Ian King (colin-king) |
Ubuntu Kernel Team (ubuntu-kernel-team) |
|
2021-11-05 08:37:37 |
Anthony Wong |
thermald (Ubuntu): assignee |
Ubuntu Kernel Team (ubuntu-kernel-team) |
koba (kobako) |
|