intel / thermal_daemon

Thermal daemon for IA
GNU General Public License v2.0
550 stars 118 forks source link

Powerclamp throttles before fan spins up on Lenovo laptop #105

Closed F3zz1k closed 7 years ago

F3zz1k commented 8 years ago

I'm not sure if this is a bug in thermald or the kernel but after install or update using anything above idling CPU levels when the CPU is already around 50c causes kidle_inject on all cores and drops available CPU to zero causing every program to lag uncontrollably(I can barely move the mouse in gnome).

It seems that it's trying to use pstate to cool the CPU before the fan even turns on. The fan is controlled by the BIOS/motherboard and will not speed up unless the CPU heats up but this overly-aggressive default pstate usage does not allow the CPU to warm up past 60c which results in the fan never running any faster than its absolute slowest speed. This also makes it nearly impossible to resolve the problem from within a graphical environment without shutting down the laptop and waiting for the CPU to drop to room temperature to allow enough time to change settings before the CPU warms up(the fan is off or idling during this time)

A quickfix I've used is to completely disable pstate but the default settings should allow a laptop to at least work. I am running Arch on a Lenovo Y510P with an I7. I can comfortably play fairly demanding videogames for extended periods of time only getting other forms of thermal throttling if the fan intake gets blocked. If the CPU is put under load quickly then it heats up enough for the fan to kick in but if it can't make it past 60c then this issue occurs.

spandruvada commented 8 years ago

It shouldn't throttle at 60C. I suggest the following and send logs.

systemctl disable thermald

reboot

ps -e | grep thermald

make sure that no thermald is running

thermald --no-daemon --loglevel=info

Copy the output dumped on screen, once you see the issue.