Public bug reported: 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 ** Affects: linux (Ubuntu) Importance: Undecided Status: Confirmed ** Tags: apport-collected bionic ** Tags added: apport-collected bionic ** Description changed: 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 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1763144 Title: Significantly lower power and thermal limits on ThinkPad T480s (and probably others) than on Windows Status in linux package in Ubuntu: Confirmed Bug 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 --- 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1763144/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp