Messages in this thread Patch in this message | | | From | zgpeng <> | Subject | [PATCH] sched/fair: Return the busiest group only if imbalance is meaningful | Date | Wed, 6 Apr 2022 19:23:24 +0800 |
| |
When calculate_imbalance function calculate the imbalance, it may actually get a negative number. In this case, it is meaningless to return the so-called busiest group and continue to search for the busiest cpu later. Therefore, only when the imbalance is greater than 0 should return the busiest group, otherwise return NULL.
Signed-off-by: zgpeng <zgpeng@tencent.com> Reviewed-by: Samuel Liao <samuelliao@tencent.com> --- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 601f8bd..9f75303 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -9639,7 +9639,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) force_balance: /* Looks like there is an imbalance. Compute it */ calculate_imbalance(env, &sds); - return env->imbalance ? sds.busiest : NULL; + return env->imbalance > 0 ? sds.busiest : NULL; out_balanced: env->imbalance = 0; -- 2.9.5
| |