On Tue, Sep 08, 2015 at 04:45:46PM +0800, Wanpeng Li wrote: > On 9/8/15 4:38 PM, Wanpeng Li wrote: > >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.and...@gmail.com> > >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? > > I think you mean your commit: > > commit 7855a35ac07a350e2cd26f09568a6d8e372be358 > Author: Byungchul Park <byungchul.p...@lge.com> > Date: Mon Aug 10 18:02:55 2015 +0900 > > sched: Ensure a task has a non-normalized vruntime when > returning back to CFS > > > However, that is wrong in the scenario which I mentioned.
then.. can i think you are not talking about a commit (23ec30ddd7c1306: 'sched: add two functions for att(det)aching a task to(from) a cfs_rq'), but talking about a commit (7855a35ac07a350: 'sched: Ensure a task has a non-normalized vruntime when returning back to CFS')? even in this case, as i already said, place_entity() should be performed after restoring a normalized value to the meaningful original value. IMHO, it is wrong that se->vruntime is assigned with a bonused value unconditionally. when the task was detached, place_entity() made the entity have a bonused vruntime if it was eligible. if it was not eligible e.g. it had a too big vruntime before going to sleep, then we should not assign a bonused vruntime which is originally intended by place_entity(). > > Regards, > Wanpeng Li > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/