Linux 6.5 To Enhance Load Balancing For Intel Hybrid CPUs
Ingo Molnar submitted today the scheduler updates destined for the Linux 6.5 kernel. Most noticeable with the CPU scheduler changes are enhancing SMP (Hyper Threading) load balancing for Intel Core CPUs of a hybrid design with a mix of P and E cores.
The scheduler improvements for benefiting Intel hybrid CPUs are to avoid unnecessary task migrations. Today's pull request elegantly sums the situation up as:
This is just one of many improvements to the Linux kernel that Intel engineers have made the past few years for benefiting Alder Lake and newer processors with the hybrid design. Overall Alder Lake and newer have been in good shape on Linux but occasional there can be some quirky P/E core behavior along with Intel's never-ending quest for further optimizing their performance under Linux.
The scheduler pull also adds a new runnable boosting feature for Energy Aware Scheduling (EAS) to consider CPU contention in the frequency, EAS max utilization, and load balancing busiest CPU selection. In turn this runnable boosting can improve CPU utilization for certain workloads.
The scheduler improvements for benefiting Intel hybrid CPUs are to avoid unnecessary task migrations. Today's pull request elegantly sums the situation up as:
Avoid unnecessary migrations within SMT domains on hybrid systems.
Problem:
On hybrid CPU systems, (processors with a mixture of higher-frequency SMT cores and lower-frequency non-SMT cores), under the old code lower-priority CPUs pulled tasks from the higher-priority cores if more than one SMT sibling was busy - resulting in many unnecessary task migrations.
Solution:
The new code improves the load balancer to recognize SMT cores with more than one busy sibling and allows lower-priority CPUs to pull tasks, which avoids superfluous migrations and lets lower-priority cores inspect all SMT siblings for the busiest queue.
This is just one of many improvements to the Linux kernel that Intel engineers have made the past few years for benefiting Alder Lake and newer processors with the hybrid design. Overall Alder Lake and newer have been in good shape on Linux but occasional there can be some quirky P/E core behavior along with Intel's never-ending quest for further optimizing their performance under Linux.
The scheduler pull also adds a new runnable boosting feature for Energy Aware Scheduling (EAS) to consider CPU contention in the frequency, EAS max utilization, and load balancing busiest CPU selection. In turn this runnable boosting can improve CPU utilization for certain workloads.
2 Comments