Messages in this thread Patch in this message | | | From | Jiang Biao <> | Subject | [PATCH] sched/fair: avoid vruntime compensation for SCHED_IDLE task | Date | Thu, 20 Aug 2020 20:00:25 +0800 |
| |
From: Jiang Biao <benbjiang@tencent.com>
Vruntime compensation has been down in place_entity() to boot the waking procedure for fair tasks. There is no need to do that for SCHED_IDLE task actually.
Not compensating vruntime for SCHED_IDLE task could make SCHED_IDLE task more harmless for normal tasks.
Signed-off-by: Jiang Biao <benbjiang@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 1a68a0536add..adff77676a0a 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4115,7 +4115,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial) vruntime += sched_vslice(cfs_rq, se); /* sleeps up to a single latency don't count. */ - if (!initial) { + if (!initial && likely(!task_has_idle_policy(task_of(se)))) { unsigned long thresh = sysctl_sched_latency; /* -- 2.21.0
| |