Advances in CPU Performance Scaling
Quite significant and radical changes were made in the kernel's CPU performance scaling subsystem (CPUFreq) in 2016. Most importantly, it was switched over from using deferrable timers to a new contro …
Talk Title | Advances in CPU Performance Scaling |
Speakers | Rafael Wysocki (Software Engineer, Intel) |
Conference | Open Source Summit North America |
Conf Tag | |
Location | Los Angeles, CA, United States |
Date | Sep 10-14, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Quite significant and radical changes were made in the kernel’s CPU performance scaling subsystem (CPUFreq) in 2016. Most importantly, it was switched over from using deferrable timers to a new control flow based on governor callbacks invoked by the CPU scheduler. That change made it possible to clean up the CPUFreq core substantially and to add more functionality on top of it. Among other things, there is a new CPUFreq governor called schedutil that makes decisions based on the CPU utilization metric used internally by the CPU scheduler. Currently, work is in progress to implement energy-aware scheduling (EAS) on top of it. In addition to that, all of the CPUFreq governors receive hints from the scheduler which allows them to optimize decisions in some cases. That opened up another path for improvements, in particular in the intel_pstate driver that has undergone substantial modifications recently as well. All of that leads to an optimistic outlook on the future of CPU performance scaling in Linux.