3 ms·
Trivial example: you want to avoid the exterior of the laptop getting hot enough to be uncomfortable for the user. If you support adaptive policies, you can rea
by mjg59 5y ago
Trivial example: you want to avoid the exterior of the laptop getting hot enough to be uncomfortable for the user. If you support adaptive policies, you can read the skin temperature sensor and then only throttle the CPU if that's above a certain temperature. If you want to get more fancy, you can make that temperature conditional on whether there's a dock attached or not (if the machine's sitting on the desk then the bottom temperature can go higher than it could otherwise).
More complex example: the wifi chipset also produces heat. The platform designer should take into account what the effect of CPU thermal output is on the wifi chipset, and expose that information in a way that the OS can make a decision about whether the appropriate response is to throttle the CPU or allow the wifi chipset to throttle itself. Making that decision is going to depend on the current workload, so you don't want to try to implement this in firmware.
If you don't support adaptive policies, then you just restrict the CPU such that even under worst case scenarios, the components can never exceed the desired temperature. Of course, this means that you're (generally) running slower than necessary.