Linux 6.3 Scheduler Updates Bring Fixes & Minor Optimizations
The Linux 6.3 scheduler changes were merged earlier this week that overall provide a collection of minor improvements to this important area of the kernel.
For the Linux 6.3 kernel cycle there is no "killer feature" when it comes to the scheduler code but an assortment of differently (mostly minor) optimizations and other work. On the whole it will be interesting to see if any measurable impact from these changes but in any case all the micro-optimizations over time add-up.
The scheduler highlights noted by longtime kernel developer Ingo Molnar include:
See the scheduler pull for the full list of patches sent in for the Linux 6.3 merge window.
For the Linux 6.3 kernel cycle there is no "killer feature" when it comes to the scheduler code but an assortment of differently (mostly minor) optimizations and other work. On the whole it will be interesting to see if any measurable impact from these changes but in any case all the micro-optimizations over time add-up.
The scheduler highlights noted by longtime kernel developer Ingo Molnar include:
- Improve the scalability of the CFS bandwidth unthrottling logic with large number of CPUs.
- Fix & rework various cpuidle routines, simplify interaction with the generic scheduler code. Add __cpuidle methods as noinstr to objtool's noinstr detection and fix boatloads of cpuidle bugs & quirks.
- Add new ABI: introduce MEMBARRIER_CMD_GET_REGISTRATIONS, to query previously issued registrations.
- Limit scheduler slice duration to the sysctl_sched_latency period, to improve scheduling granularity with a large number of SCHED_IDLE tasks.
- Debuggability enhancement on sys_exit(): warn about disabled IRQs, but also enable them to prevent a cascade of followup problems and repeat warnings.
- Fix the rescheduling logic in prio_changed_dl().
- Micro-optimize cpufreq and sched-util methods.
- Micro-optimize ttwu_runnable()
- Micro-optimize the idle-scanning in update_numa_stats(), select_idle_capacity() and steal_cookie_task().
- Update the RSEQ code & self-tests
- Constify various scheduler methods
- Remove unused methods
- Refine __init tags
- Documentation updates
- ... Misc other cleanups, fixes
See the scheduler pull for the full list of patches sent in for the Linux 6.3 merge window.
3 Comments