Linux 4.6 Will Fix A Bug Where Some Laptops Are Always Throttled With Bad Performance
![HARDWARE](/assets/categories/hardware.webp)
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.
20 Comments