Linux 6.14 Sees Last Minute Fix For A Two Year Old Regression Causing A 30% Performance Drop
([Linux Kernel] 4 Hours Ago
Linux 6.14 Performance Fix)
- Reference: 0001535852
- News link: https://www.phoronix.com/news/Linux-6.14-Sched-2-Year-Regress
- Source link:
Submitted today ahead of [1]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 [2]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 [3]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 [4]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.
[1] https://www.phoronix.com/news/Linux-6.14-Features-Reminder
[2] https://web.git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=eff6c8ce8d4d7faef75f66614dd20bb50595d261
[3] https://web.git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=sched/urgent
[4] https://lore.kernel.org/lkml/Z91A2-z01UOBKTN9@gmail.com/
Merged nearly two years ago to the day was [2]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 [3]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 [4]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.
[1] https://www.phoronix.com/news/Linux-6.14-Features-Reminder
[2] https://web.git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=eff6c8ce8d4d7faef75f66614dd20bb50595d261
[3] https://web.git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=sched/urgent
[4] https://lore.kernel.org/lkml/Z91A2-z01UOBKTN9@gmail.com/
archkde