[tip: sched/core] sched/fair: Reduce minimal imbalance threshold

From: tip-bot2 for Vincent Guittot
Date: Tue Sep 29 2020 - 03:57:07 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: 2208cdaa56c957e20d8e16f28819aeb47851cb1e
Gitweb: https://git.kernel.org/tip/2208cdaa56c957e20d8e16f28819aeb47851cb1e
Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
AuthorDate: Mon, 21 Sep 2020 09:24:22 +02:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Fri, 25 Sep 2020 14:23:26 +02:00

sched/fair: Reduce minimal imbalance threshold

The 25% default imbalance threshold for DIE and NUMA domain is large
enough to generate significant unfairness between threads. A typical
example is the case of 11 threads running on 2x4 CPUs. The imbalance of
20% between the 2 groups of 4 cores is just low enough to not trigger
the load balance between the 2 groups. We will have always the same 6
threads on one group of 4 CPUs and the other 5 threads on the other
group of CPUS. With a fair time sharing in each group, we ends up with
+20% running time for the group of 5 threads.

Consider decreasing the imbalance threshold for overloaded case where we
use the load to balance task and to ensure fair time sharing.

Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Phil Auld <pauld@xxxxxxxxxx>
Acked-by: Hillf Danton <hdanton@xxxxxxxx>
Link: https://lkml.kernel.org/r/20200921072424.14813-3-vincent.guittot@xxxxxxxxxx
---
kernel/sched/topology.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 249bec7..41df628 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -1349,7 +1349,7 @@ sd_init(struct sched_domain_topology_level *tl,
.min_interval = sd_weight,
.max_interval = 2*sd_weight,
.busy_factor = 32,
- .imbalance_pct = 125,
+ .imbalance_pct = 117,

.cache_nice_tries = 0,