The New "TEO" CPU Idle Governor For Tickless Systems Queued Ahead Of Linux 5.1
The TEO governor for the CPUIdle framework is designed to be more ideal for tickless systems in more appropriately picking the best C-state for the processor/system. TEO tries to pick the deepest idle state for the system's expected conditions.
The idea of this governor is based on the observation that on many systems timer events are two or more orders of magnitude more frequent than any other interrupts, so they are likely to be the most significant source of CPU wakeups from idle states. Moreover, information about what happened in the (relatively recent) past can be used to estimate whether or not the deepest idle state with target residency within the time to the closest timer is likely to be suitable for the upcoming idle time of the CPU and, if not, then which of the shallower idle states to choose.
After going through many rounds of review, the TEO governor was queued this week into Rafael's power management staging code branch ahead of the Linux 5.1 kernel cycle. More details on this new CPUIdle governor can be found from the Git commit that also adds the detailed documentation on the new governor design.