On Thu, 20 Aug 2020 at 14:00, Jiang Biao <benbji...@gmail.com> wrote: > > From: Jiang Biao <benbji...@tencent.com> > > Vruntime compensation has been down in place_entity() to > boot the waking procedure for fair tasks. There is no need to
s/boot/boost/ ? > 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 <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 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)))) { What if se is not a task ? > unsigned long thresh = sysctl_sched_latency; > > /* > -- > 2.21.0 >