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

From: Wanpeng Li
Date: Tue Sep 08 2015 - 04:39:11 EST


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.

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?

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?

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/