As covered last month on Phoronix, Intel has been experimenting with Energy Aware Scheduling (EAS) for the Intel P-State driver with a goal of enhancing the power efficiency of Core Ultra “Lunar Lake” processors. Recently a second iteration of that work was posted for review ahead of possible inclusion in a future version of the Linux kernel.
Energy Aware Scheduling for the Linux kernel was previously led by the Arm folks while now is being experimented with for the Intel P-State CPU frequency scaling driver to deliver greater power efficiency for Lunar Lake. Energy Aware Scheduling provides the Linux kernel’s scheduler with the ability to predict the impact of its decisions on the energy consumption of individual CPU cores.
At this stage the Intel P-State EAS focus is on “hybrid platforms without SMT”… Which for now basically means Lunar Lake for its mix of P and E cores without any SMT / Hyper Threading support.
The Intel P-State EAS patch cover letter explains:
The following paragraph from the original cover letter still applies:
“The underlying observation is that on the platforms targeted by these changes, Lunar Lake at the time of this writing, the “small” CPUs (E-cores), when run at the same performance level, are always more energy-efficient than the “big” or “performance” CPUs (P-cores). This means that, regardless of the scale-invariant utilization of a task, as long as there is enough spare capacity on E-cores, the relative cost of running it there is always lower.”
Thus the idea is still to register a perf domain per CPU type, but this time there may be more than just two of them because of the first patch.
The patches though in current form don’t provide any numbers to quantify the power/performance impact of the work.
Those interested in this Intel P-State EAS work can find them via the Linux power management list.