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

From: Byungchul Park
Date: Tue Sep 08 2015 - 04:23:04 EST


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.
> >
> >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:

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/