[PATCH v4 0/2] Reduce stacking and overscheduling

From: Mel Gorman
Date: Thu Oct 28 2021 - 05:49:36 EST


Also available at
git://git.kernel.org/pub/scm/linux/kernel/git/mel/linux.git sched-scalewakegran-v4r1

Changelog since v3
o No code changes, added some additional results to patch 1


These series tackles two problems. The first is that heavy wakers
can stack an excessive number of tasks on the same CPU. The
second is that tasks can overschedule when the task has not
reached its minimum preemption granularity.

The patches are independent but were discussed together in the thread
https://lore.kernel.org/r/20210920142614.4891-1-mgorman@xxxxxxxxxxxxxxxxxxx
so are presented together.

With both patches on a zen3 machine

hackbench-process-pipes
5.15.0-rc3 5.15.0-rc3
vanilla sched-scalewakegran-v3r2
Amean 1 0.3667 ( 0.00%) 0.3823 ( -4.27%)
Amean 4 0.5343 ( 0.00%) 0.4867 ( 8.92%)
Amean 7 0.5300 ( 0.00%) 0.5053 ( 4.65%)
Amean 12 0.5737 ( 0.00%) 0.5450 ( 5.00%)
Amean 21 0.6727 ( 0.00%) 0.6807 ( -1.19%)
Amean 30 0.8583 ( 0.00%) 0.7107 * 17.20%*
Amean 48 1.3977 ( 0.00%) 1.0447 * 25.26%*
Amean 79 1.9790 ( 0.00%) 1.6033 * 18.98%*
Amean 110 2.8020 ( 0.00%) 2.0763 * 25.90%*
Amean 141 3.6683 ( 0.00%) 2.5313 * 31.00%*
Amean 172 4.6687 ( 0.00%) 3.1163 * 33.25%*
Amean 203 5.2183 ( 0.00%) 3.5560 * 31.86%*
Amean 234 6.1077 ( 0.00%) 3.8913 * 36.29%*
Amean 265 7.1313 ( 0.00%) 4.2293 * 40.69%*
Amean 296 7.7557 ( 0.00%) 4.5357 * 41.52%*

5.15.0-rc3 5.15.0-rc3
vanilla sched-scalewakegran-v3r2
Duration User 2933.05 2034.17
Duration System 25652.83 17137.08
Duration Elapsed 162.50 120.25

kernel/sched/fair.c | 27 ++++++++++++++++++++++++---
kernel/sched/features.h | 2 ++
2 files changed, 26 insertions(+), 3 deletions(-)

--
2.31.1