Skip to content

Commit c2e164a

Browse files
vingu-linaroPeter Zijlstra
authored andcommitted
sched/fair: remove util_est boosting
There is no need to use runnable_avg when estimating util_est and that even generates wrong behavior because one includes blocked tasks whereas the other one doesn't. This can lead to accounting twice the waking task p, once with the blocked runnable_avg and another one when adding its util_est. cpu's runnable_avg is already used when computing util_avg which is then compared with util_est. In some situation, feec will not select prev_cpu but another one on the same performance domain because of higher max_util Fixes: 7d0583c ("sched/fair, cpufreq: Introduce 'runnable boosting'") Signed-off-by: Vincent Guittot <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Dietmar Eggemann <[email protected]> Tested-by: Dietmar Eggemann <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 752182b commit c2e164a

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

kernel/sched/fair.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7320,9 +7320,6 @@ cpu_util(int cpu, struct task_struct *p, int dst_cpu, int boost)
73207320

73217321
util_est = READ_ONCE(cfs_rq->avg.util_est.enqueued);
73227322

7323-
if (boost)
7324-
util_est = max(util_est, runnable);
7325-
73267323
/*
73277324
* During wake-up @p isn't enqueued yet and doesn't contribute
73287325
* to any cpu_rq(cpu)->cfs.avg.util_est.enqueued.

0 commit comments

Comments
 (0)