From: Jiang Biao <benbji...@tencent.com>

No need to preempt when there are only one runable CFS task with
other IDLE tasks on runqueue. The only one CFS task would always
be picked in that case.

Signed-off-by: Jiang Biao <benbji...@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 04fa8dbcfa4d..8fb80636b010 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4527,7 +4527,7 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_entity 
*curr, int queued)
                return;
 #endif
 
-       if (cfs_rq->nr_running > 1)
+       if (cfs_rq->nr_running > cfs_rq.idle_h_nr_running + 1)
                check_preempt_tick(cfs_rq, curr);
 }
 
-- 
2.21.0

Reply via email to