With the Linux 6.16 kernel Intel enabled the new Platform Temperature Control (PTC) interface as part of their int340x thermal driver. Now ahead of the Linux 6.17 kernel Intel PTC is being extended to support a Throttling Control Interface for those that may prefer running their system(s) hotter in order to enjoy better performance.
The new Intel Platform Temperature Control functionality in the original patches was described as:
“Platform Temperature Control is a dynamic control loop implemented in hardware to manage the skin or any board temperature of a device. The reported skin or board temperature is controlled by comparing to a configured target temperature and adjusting the SoC (System on Chip) performance accordingly.”
For those not minding a system that is warm to the touch or not running a new Intel Core Ultra laptop directly on your lap, the pending Throttling Control Interface will allow adjusting the thermal limits to push the SoC harder for better performance.
Queued up within the Linux power management subsystem’s “linux-next” Git branch is the code for adding the Throttling Control Interface. It’s described there as:
“Firmware-based thermal temperature control loops may aggressively throttle performance to prevent temperature overshoots relative to the defined target temperature. This can negatively impact performance. User space may prefer to prioritize performance, even if it results in temperature overshoots with in acceptable range.
For example, user space might tolerate temperature overshoots when the device is placed on a desk, as opposed to when it’s on a lap. To
accommodate such scenarios, an optional attribute is provided to specify a tolerance level for temperature overshoots while maintaining acceptable performance.”
This new Throttling Control Interface doesn’t allow arbitrarily overriding the temperature control interface but allows making it less aggressive on a relative basis. This Throttling Control Interface is exposed via sysfs as “thermal_tolerance” and the documentation describes the new thermal tolerance sysfs attribute as:
“thermal_tolerance: This attribute ranges from 0 to 7, where 0 represents the most aggressive control to avoid any temperature overshoots, and 7 represents a more graceful approach, favoring performance even at the expense of temperature overshoots.
Note: This level may not scale linearly. For example, a value of 3 does not necessarily imply a 50% improvement in performance compared to a value of 0.”
No hard numbers or performance deltas were indicated to set any relative expectations fro adjusting the thermal tolerance. In any event for those interested this Throttling Control Interface / Thermal Tolerance addition for Intel Platform Temperature Control is expected to be part of the Linux 6.17 kernel now that it’s made its way into the Linux power management subsystem “-next” branch.