[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170411091219.z26r7sa7hpz7gvix@hirez.programming.kicks-ass.net>
Date: Tue, 11 Apr 2017 11:12:19 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Vincent Guittot <vincent.guittot@...aro.org>
Cc: mingo@...nel.org, linux-kernel@...r.kernel.org,
dietmar.eggemann@....com, Morten.Rasmussen@....com,
yuyang.du@...el.com, pjt@...gle.com, bsegall@...gle.com
Subject: Re: [PATCH v2] sched/fair: update scale invariance of PELT
On Tue, Apr 11, 2017 at 09:52:21AM +0200, Vincent Guittot wrote:
> > > + } else if (!weight) {
> > > + if (sa->util_sum < (LOAD_AVG_MAX * 1000)) {
> >
> > But here I'm completely lost. WTF just happened ;-)
> >
> > Firstly, I think we want a comment on why we care about the !weight
> > case. Why isn't !running sufficient?
>
> We track the time when the task is "really" idle but not the time that
> the task spent to wait for running on the CPU. Running is used to
> detect when the task is really running and how much idle time has been
> lost while weight is used to detect when the task is back to sleep
> state and when we have account the lost idle time.
Huh? You're redefining what 'idle' means wrt. util_sum.
util used to consider anything !running as idle. So this is the main
trickery? I feel that deserves a comment of exceptional clarity.
Powered by blists - more mailing lists