[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150908091749.GL6455@byungchulpark-X58A-UD3R>
Date: Tue, 8 Sep 2015 18:17:49 +0900
From: Byungchul Park <byungchul.park@....com>
To: Wanpeng Li <wanpeng.li@...mail.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>, linux-kernel@...r.kernel.org,
yuyang.du@...el.com
Subject: Re: [PATCH] sched: fix lose fair sleeper bonus in switch_to_fair()
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.andrea@...il.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.park@....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 majordomo@...r.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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists