Linux 6.10 Scheduler Changes Bring More Refinements

Written by Michael Larabel in Linux Kernel on 19 May 2024 at 06:04 AM EDT. 7 Comments
LINUX KERNEL
Alongside all of the other pull requests by Ingo Molnar submitted at the start of the week during the opening of the Linux 6.10 merge window were the scheduler updates. As usual, the kernel scheduler work continues to see various tweaks and refinements to enhance its behavior.

With Linux 6.10 the code now has CPUFreq pressure feedback available to the scheduler. There's also a rework for misfit load balancing around affinity restrictions. Plus a variety of code clean-ups and other low-level alterations.

The change to misfit load balancing is around checking that a task has a fitting CPU when updating the misfit. The patch by Arm's Qais Yousef explains:
"If a misfit task is affined to a subset of the possible cpus, we need to verify that one of these cpus can fit it. Otherwise the load balancer code will continuously trigger needlessly leading the balance_interval to increase in return and eventually end up with a situation where real imbalances take a long time to address because of this impossible imbalance situation.

This can happen in Android world where it's common for background tasks to be restricted to little cores.

Similarly if we can't fit the biggest core, triggering misfit is pointless as it is the best we can ever get on this system.

To speed the search up, don't call task_fits_cpu() which will repeatedly call uclamp_eff_value() for the same task. Call util_fits_cpu() instead. And only do so when we see a cpu with higher capacity level than passed cpu_of(rq)."

See more details on the scheduler changes for Linux 6.10 via the pull request that has already been merged to mainline.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week