diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 3eeb4e7db055..a1d5157a57c4 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -8626,7 +8626,7 @@ static int detach_tasks(struct lb_env *env) case migrate_util: util = task_util_est(p); - if (util > env->imbalance) + if (shr_bound(util, env->sd->nr_balance_failed) > env->imbalance) goto next; env->imbalance -= util;