Comment 0 for bug 1763144

Revision history for this message
Julian Andres Klode (juliank) wrote : Significantly lower power and thermal limits on T480s (and probably others) than on Windows

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