RE: [PATCH] sched: fix lose fair sleeper bonus in switch_to_fair()

From: byungchul.park
Date: Tue Sep 08 2015 - 04:48:41 EST




> -----Original Message-----
> From: Wanpeng Li [mailto:wanpeng.li@xxxxxxxxxxx]
> Sent: Tuesday, September 08, 2015 5:39 PM
> To: Byungchul Park
> Cc: Peter Zijlstra; Ingo Molnar; linux-kernel@xxxxxxxxxxxxxxx;
> yuyang.du@xxxxxxxxx
> Subject: Re: [PATCH] sched: fix lose fair sleeper bonus in
switch_to_fair()
>
> On 9/8/15 4:22 PM, Byungchul Park wrote:
> > On Tue, Sep 08, 2015 at 04:04:49PM +0800, Wanpeng Li wrote:
> >>>> However, if se->vruntime -= cfs_rq->min_vruntime is positive, the
> >>>> behavior is different after your patch. e.g. se->vruntime(the
> >>>> relative vruntime in switched_to_fair()) < min_vruntime -
> >>>> sysctl_sched_latency/2
> >>>>
> >>>> before your patch:
> >>>>
> >>>> se->vruntime = min_vruntime - sysctl_sched_latency/2 (place_entity())
> >>> my patch is based on ff277d4 commit at tip/sched/core.

Look at this.

> >>>
> >>> there's no change between before and after.
> >>>
> >>> check it please.
> >>>
> >>> and this logic seems to be no problem to me. :(
> >> Your logic will lose fair sleeper bonus in the scenario which I pointed
> out.
> > i mean in ff277d4 commit:
>
> Please include the commit subject when you point out a commit, do you
> mean this one?

I said "I based my patch on ff277d4 commit".

>
> commit ff277d4250fe715b6666219b1a3423b863418794
> Author: Andrea Parri <parri.andrea@xxxxxxxxx>
> Date: Wed Aug 5 15:56:19 2015 +0200
>
> sched/deadline: Fix comment in enqueue_task_dl()
>
> The "dl_boosted" flag is set by comparing *absolute* deadlines
> (c.f., rt_mutex_setprio()).
>
>
> What's the relationship w/ this patch?

Nothing. Just a base commit.

>
> Regards,
> Wanpeng Li
>
> >
> > se->vruntime += cfs->min_vruntime (switched_to_fair())
> > se->vruntime = se->vruntime or bonused value (place_entity())
> >
> > after my patch:
> >
> > se->vruntime += cfs->min_vruntime (switched_to_fair())
> > se->vruntime = se->vruntime or bonused value (place_entity())
> >
> > ---
> >
> > SAME!!!
> >
> > in addtion, se->vruntime already had a bonused value if eligible,
> > when it was detached from cfs_rq.
> >
> >>>> after your patch:
> >>>>
> >>>> se->vruntime += cfs->min_vruntime (switched_to_fair())
> >>>> se->vruntime = se->vruntime (place_entity())
> >>>>
> >>>>
> >>>> Regards,
> >>>> Wanpeng Li
> >>>>
> >>>> --
> >>>> To unsubscribe from this list: send the line "unsubscribe linux-
> kernel" in
> >>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
> >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >>>> Please read the FAQ at http://www.tux.org/lkml/
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
> in
> >> the body of a message to majordomo@xxxxxxxxxxxxxxx
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >> Please read the FAQ at http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/