4

This problem is bothering me for some weeks now and I cannot seem to figure out what the real problem might be.

The problem is that the CPU frequency is dropping drastically when under load. By this I mean that the CPU frequency is around 400 MHz when just opening a web browser for example, and when there is no load the frequency is rising back up. (not to a very high one, but still it is not a static behavior). It is really driving me crazy.

Some further information that might help:

Hardware:

Lenovo thinkpad T15:

CPU: Intel I7-10510U

=> Base clock: 1.8GHz

=> Boost clock: 4.9GHz

Software:

Distro: Ubuntu 20.04.1 LTS

Kernel: 5.4.0-52-generic

⇒  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: 400 MHz - 4.90 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.24 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

# command to simulate a stress on the CPU
⇒  stress-ng --cpu 8 --timeout 15s
stress-ng: info:  [43652] dispatching hogs: 8 cpu
stress-ng: info:  [43652] successful run completed in 15.34s

# The result of the stress on the CPU
⇒  sudo turbostat --Summary --quiet  --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 6
Busy%   Bzy_MHz IRQ PkgTmp  PkgWatt GFXWatt
6.58    1862    11418   51  5.00    0.00
7.69    1813    14444   51  4.96    0.00
7.79    1817    16988   51  5.03    0.00
7.99    1724    14679   51  5.00    0.00
9.12    1542    14504   51  4.91    0.00
8.82    1662    13878   51  4.98    0.00
60.61   1060    19508   52  5.84    0.00 # Applied load around here
99.75   460     19984   51  4.59    0.00
98.06   654     21316   51  4.79    0.00
10.26   1181    16730   51  4.25    0.00 # load ended around here
5.90    1782    10315   50  4.74    0.00
6.60    1890    11701   50  5.10    0.00
6.00    1901    10736   50  5.13    0.00
6.74    1981    13477   51  5.23    0.00
7.43    1731    1500    50  4.92    0.00

⇒  cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
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: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.26 GHz.
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.48 GHz.
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 982 MHz.
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 983 MHz.
analyzing CPU 4:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 4
  CPUs which need to have their frequency coordinated by software: 4
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.06 GHz.
analyzing CPU 5:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 5
  CPUs which need to have their frequency coordinated by software: 5
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 872 MHz.
analyzing CPU 6:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 6
  CPUs which need to have their frequency coordinated by software: 6
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 926 MHz.
analyzing CPU 7:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 7
  CPUs which need to have their frequency coordinated by software: 7
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.90 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 850 MHz.

Things I've tried so far:

  • setting power governor to performance
  • setting the intel pstate driver frequency limits
  • using cpupower to set the frequency limits (Does this the same as changing the intel pstate driver values directly?)
  • Reinstalling ubuntu 20.04, had the same issue upon a clean install.

I was able once to get my system up and running like it should be: After rebooting from windows, the CPU went right up to the max CPU limit when running a fake load onto the system and kept working for the rest of the day. The system thermal throttled as expected, but never dropped below the 2 GHz as far as I could tell. However after rebooting the issue reappeared... I wasn't able to reproduce this behavior afterwards either...

If it was not clear already: the question is how to solve this so that I can use the full potential of my laptop and not wait every time I load a new window or open a new browser tab?

Thanks in advance!

EDIT:

  • add reinstall to things I tried
3
2

Probably your embedded controller is set to a conservative thermal setting. Note that these settings are persistent on the mainboard and not the hard disk. So if you are playing with Lenovos tools under windows, putting your notebook in a kind of "power economic & quiet" profile and then boot up ubuntu, the setting is still active.

To change this under Ubuntu, you need the right kernel module (in my case it's dell-smbios) and the smbios-thermal-ctl package to do something like this:

sudo smbios-thermal-ctl -i

 Print all the Available Thermal Information of your system: 
-------------------------------------------------------------------
Supported Thermal Modes: 
     Balanced
     Cool Bottom
     Quiet
     Performance

and then activate a more permissive profile, in my case (Dell) the best of both worlds seems to be Balanced.

sudo smbios-thermal-ctl -set-thermal-mode=Balanced

Another tool I can recommend is s-tui to diagnose such behavior.

2
  • Thanks for the response! I'm not able to find such a package for my lenovo machine (only did a quick google search). But I just rebooted back into windows and verified that my performance settings were indeed at the max setting. When rebooting back into Ubuntu, my system started out great, but after a while it went back to the old behavior... So it seems that Ubuntu is messing arround with these settings. However, I do not know where to look at this point. And I also use BpyTOP to monitor the systems performance :) – aapje06 Oct 28 '20 at 17:17
  • After some more digging I found an interesting line in the dmesg log: kernel: ENERGY_PERF_BIAS: Set to 'normal', was 'performance' So your theory could indeed be true, however when i try to set it back to performance with the tool x86_energy_perf_policy I get an error. Further investigation is ongoing... – aapje06 Oct 28 '20 at 18:02
1

As it turned out it was a thermal issue, but not software related. After sending the device back to the factory, they replaced the cooler of the device and the issue was fixed!

Apparently the CPU got up to just under 100 degrees Celsius, and then immediately thermal throttled.

2
  • Could you please share the details? Similar issues are described here forums.lenovo.com/t5/… and I am curious if it just a common hardware defect. How much time did repair took? Was it hard to convince support that you device has hw problem? What exactly did they fix? – Alex Bozhenko Dec 18 '20 at 4:48
  • They replaced the CPU cooler according to the note that was provided when the laptop returned. It took about a week to get it fixed for me. It needed to be send back to a more local repair point. I had no issue convincing the support team to get it fixed. And I did request the repair via the lenovo support site: pcsupport.lenovo.com. Overall a good experience. – aapje06 Dec 21 '20 at 13:14
0

I had very similar symptoms on my Thinkpad T495s. The cause was much more prosaic - there was a small piece of paper between the desk and the laptop and it decreased volume of air available for the fan. When I removed the paper, then the frequency starts increasing.

So If anybody has similar issue, check if the laptop is on the clear and flat surface.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.