Testing The Intel "Workload Hints" Capability Of Linux 5.11
There are many new features with the Linux 5.11 kernel that is presently under development but one of the ones I've been more curious about for how well it works is the Intel "workload hints" that can be passed via its thermal framework. This is about providing the system with hints of workloads being run to optimize the thermal/power properties.
Linux 5.11 adds support for workload hints to the Intel INT340x thermal code that is used in conjunction with the Intel Thermal Daemon (Thermald) as part of the thermal/power management on modern Intel SoCs. The new code in Linux 5.11 is a mailbox driver for being able to provide indication to the firmware/hardware what is being run to better optimize its thermal/power handling.
The hints initially supported are idle, semi-active (semi_active), bursty, sustained, battery life (battery_life), or the default behavior of "none". These hints are written to /sys/bus/pci/devices/0000:00:04.0/workload_request/workload_type and depending upon the hint will adjust the power ramp up behavior of the hardware. Again, this interface is only present with Linux 5.11 or newer.
So far I haven't seen any Linux user-space solutions for trying to intelligently adjust the hints based upon the software being run or other conditions, but we'll see if this new interface gains much interest once Linux 5.11 reaches stable next February. At least as it stands now I can't imagine many Linux desktop/mobile users manually interacting with sysfs for adjusting these hints.
I was curious what an impact adjusting these workloads make on a modern Intel EVO notebook. So with the Dell XPS 13 9310 featuring the Intel Core i7 1165G7 Tiger Lake SoC, I ran benchmarks under each of these different workload hints. During the benchmarking the raw performance was looked at as well as the CPU power consumption reported via RAPL as well as various thermal metrics exposed by this Dell XPS Tiger Lake laptop.
Via the Phoronix Test Suite dozens of different benchmarks were carried out for seeing what if any difference there is from these various workload hints.