sched/fair: fix misfit with PELT

Commit 20017f3383 ("sched/fair: Only kick nohz balance when runqueue
has more than 1 task") disabled the nohz kick for LB when a rq has a
misfit task. The assumption is that this would be addressed in the
forced up-migration path. However, this path is WALT-specific, so
disabling the nohz kick breaks PELT.

Fix it by re-enabling the nohz_kick when there is a misfit task on the
rq.

Bug: 143472450
Test: 10/10 iterations of eas_small_to_big ended up up-migrating
Fixes: 20017f3383 ("sched/fair: Only kick nohz balance when runqueue
has more than 1 task")
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: I9f708eb7661a9e82afdd4e99b878995c33703a45
Signed-off-by: Danny Lin <danny@kdrag0n.dev>
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
fourteen
Quentin Perret 5 years ago committed by Jenna
parent 96a105f3a6
commit fcb24c73e4
  1. 2
      kernel/sched/fair.c

@ -12107,7 +12107,7 @@ static inline bool nohz_kick_needed(struct rq *rq, bool only_update)
return true;
if (energy_aware())
return false;
return rq->misfit_task_load > 0;
rcu_read_lock();
sds = rcu_dereference(per_cpu(sd_llc_shared, cpu));

Loading…
Cancel
Save