
First up, the scheduler merge contains the work to help boost gaming performance on old "potato" hardware . That patch series from Intel engineer Peter Zijlstra helps with cgroup scheduling and was shown to be beneficial for testing on an Intel Sandy Bridge CPU with AMD Radeon RX 580 Polaris graphics. This " flatten the pick " patch series shows some very promising results:
The work was summed up in the pull request as:
"Series to 'flatten the pick': improve cgroup scheduling, which has always been problematic and painful, which has caused various scheduling misbehavior such as the mishandling of reniced tasks et al. Add various cgroup weight distribution methods via cgroup_mode: 'up', 'max', 'concur' and 'tasks' - with the default being 'concur' which is the most precise yet also most expensive version. Finally, change cgroup scheduling to a single runqueue."
Separately, the scheduler code makes improvements to lower the scheduling latency of short-slice tasks. Vincent Guittot showed off some very significant improvements in cyclictest from this work:
The scheduler updates also include an important fix to cluster scheduling for CPUs with asymmetric capacity, a.k.a. Intel hybrid CPUs. That work was previously talked about on Phoronix within Linux 7.3 To Better Handle Cluster Load Balancing On Intel Hybrid CPUs .
Additionally, to help with load-balancing, Linux 7.3 now prefers fully idle cores for NOHZ balancing. There is also a variety of other code updates found with the scheduler changes merged via this pull request .