Messages in this thread | ![/](/images/icornerl.gif) | | From | Vincent Guittot <> | Date | Thu, 20 Aug 2020 14:51:06 +0200 | Subject | Re: [PATCH] sched/fair: avoid vruntime compensation for SCHED_IDLE task |
| |
On Thu, 20 Aug 2020 at 14:00, Jiang Biao <benbjiang@gmail.com> wrote: > > 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
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 <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)))) {
What if se is not a task ?
> unsigned long thresh = sysctl_sched_latency; > > /* > -- > 2.21.0 >
| ![\](/images/icornerr.gif) |