Linux 4.6 Will Fix A Bug Where Some Laptops Are Always Throttled With Bad Performance

Written by Michael Larabel in Hardware on 24 March 2016 at 10:17 AM EDT. 20 Comments
HARDWARE
The thermal updates were submitted today for the Linux 4.6 kernel merge window and there's a very important fix for at least some newer Lenovo laptops. The fix should end up getting backported to current stable series, but if you have a Lenovo laptop and have been seeing slower performance on recent Linux kernel versions, you'll want to upgrade.

Zhang Rui of Intel sent in the thermal updates and explained the Lenovo laptop throttling issue. He said, "Fix a regression that bogus trip points on some Lenovo laptops start to screw up thermal control after commit 81ad4276b505 ("Thermal: initialize thermal zone device correctly"). On these Lenovo laptops, a bogus passive trip point is reported, which is 0 degree Celsius. Without commit 81ad4276b505, thermal zone fails to set cooling devices to proper cooling state, which is a bug. But with commit 81ad4276b505 applied, the processors are always throttled on these Lenovo laptops because the current temperature is always higher than the passive trip point. A patch is written to ignore such bogus trip points."

Among the bugs attributed to this thermal throttling regression is this Red Hat bug affecting a Core i7 system on Fedora 23 where upgrading to Linux 4.4 causes around an 18% performance reduction compared to Linux 4.2. Just not in benchmarks, but the all-around performance is more sluggish with the newer kernel, which makes sense since the CPU is stuck to running in its lowest power state. There is also this bug report about the issue for Lenovo G510, Y50-Y70 laptops. Other bug reports about this issue mention a Lenovo X240 laptop and ThinkPad X220, among others. It's not bound to one generation of laptops but there appears to be this issue reproduced on Sandy Bridge laptops and newer.


Now that invalid trip points are ignored by the thermal code, this issue should be resolved. The patch is queued up for Linux 4.6 but the particular patch was also copied to the stable kernel mailing list for all kernels post-3.18 that are still maintained.

Aside from fixing this issue, the Linux 4.6 thermal updates also add a new Mediatek thermal driver, Skylake PCH support to the Intel PCH thermal driver, and other fixes.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week