The role of the cpufreq subsystem in the Linux kernel is to Control the performance levels of CPUs, so they are sufficient for the current workload, but not excessive, in order to avoid burning too much energy. Traditionally, the cpufreq subsystem's policy drivers, called governors, have been responsible for tracking the utilization of CPUs and making decisions to adjust CPU performance on that basis, but there are problems with that approach. Most importantly, the CPU scheduler also tracks CPU utilization and makes decisions taking it into account, so there are two kernel subsystems that track the same indicator, possibly using different metrics, and take actions affecting each other without coordination. That is suboptimal and work is in progress to improve the situation. I will explain what have been achieved so far and what directions it can take going forward.