Submitted today ahead of the Linux 6.14 stable release expected Sunday is a lone scheduler fix for the kernel. This patch is for reverting a change made to the Linux kernel two years ago that ended up regressing some workloads with a significant performance hit.
Merged nearly two years ago to the day was this patch to the core scheduler code for trying to reduce the cost of the sched_move_task handling when using the CONFIG_SCHED_AUTOGROUP configuration. With a simple loop of a bash script launching many “sleep” commands as separate processes, this patch ended up reducing that execution time by around 57%.
But it turns out that the attempted optimization two years ago has been hurting other Linux workloads. With today’s patch to revert the code, this two-year-old code was found to regression UnixBench’s spawn test by around 30%. This performance regression was reported by an Amazon engineer when running tests on their AWS cloud with auto-group enabled. Other workloads besides UnixBench are ultimately affected as well.
Ingo Molnar sent out the scheduler pull request today with this lone revert and commented:
“This is admittedly a bit late in the cycle, and the regression is old, but the performance impact is substantial for the affected workloads so I didn’t want to delay this fix.”
Barring any reservations by Linus Torvalds, this performance regression fix/revert should be merged to Linux 6.14 Git later today.