wake_affine_idle returns true if the CPU can run the task. Since it is
ignoring capacity, adding that check there to only return true if the
CPU is full_capacity.

Signed-off-by: Rohit Jain <[email protected]>
---
 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 5b1f7b9..f4761f2 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5660,7 +5660,7 @@ static bool
 wake_affine_idle(struct sched_domain *sd, struct task_struct *p,
                 int this_cpu, int prev_cpu, int sync)
 {
-       if (idle_cpu(this_cpu))
+       if (idle_cpu(this_cpu) && full_capacity(this_cpu))
                return true;
 
        if (sync && cpu_rq(this_cpu)->nr_running == 1)
-- 
2.7.4

Reply via email to