From: Saravana Kannan <skannan@codeaurora.org>
To: Joel Fernandes <joel@joelfernandes.org>,
Patrick Bellasi <patrick.bellasi@arm.com>
Cc: Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
"open list:THERMAL" <linux-pm@vger.kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Morten Rasmussen <morten.rasmussen@arm.com>,
connoro@google.com, Joel Fernandes <joelaf@google.com>,
Steve Muckle <smuckle@google.com>, Todd Kjos <tkjos@google.com>
Subject: Re: [PATCH 2/2] sched/fair: util_est: add running_sum tracking
Date: Tue, 5 Jun 2018 16:15:01 -0700 [thread overview]
Message-ID: <af0e3158-d97c-b546-ea51-03b77d4cd501@codeaurora.org> (raw)
In-Reply-To: <20180605204608.GA3510@joelaf.mtv.corp.google.com>
On 06/05/2018 01:46 PM, Joel Fernandes wrote:
> On Tue, Jun 05, 2018 at 05:54:31PM +0100, Patrick Bellasi wrote:
>> On 05-Jun 17:31, Juri Lelli wrote:
>>> On 05/06/18 16:11, Patrick Bellasi wrote:
>>>
>>> [...]
>>>
>>>> If I run an experiment with your example above, while using the
>>>> performance governor to rule out any possible scale invariance
>>>> difference, here is what I measure:
>>>>
>>>> Task1 (40ms delayed by the following Task2):
>>>> mean std max
>>>> running_avg 455.387449 22.940168 492.0
>>>> util_avg 433.233288 17.395477 458.0
>>>>
>>>> Task2 (waking up at same time of Task1 and running before):
>>>> mean std max
>>>> running_avg 430.281834 22.405175 455.0
>>>> util_avg 421.745331 22.098873 456.0
>>>>
>>>> and if I compare Task1 above with another experiment where Task1 is
>>>> running alone:
>>>>
>>>> Task1 (running alone):
>>>> mean std min
>>>> running_avg 460.257895 22.103704 460.0
>>>> util_avg 435.119737 17.647556 461.0
>>> Wait, why again in this last case running_avg != util_avg? :)
>> I _think_ it's mostly due to the rouding errors we have because of the
>> reasons I've explained in the reply to Joel:
>>
>> https://lkml.org/lkml/2018/6/5/559
>> 20180605152156.GD32302@e110439-lin
>>
>> at the end, while commenting about the division overhead.
>>
>> I should try the above examples while tracking the full signal at
>> ___update_load_avg() time.
> Is that the only issue? I think if a CFS task is blocked by another CFS task
> due to preemption, then with your patch we would account the CFS blocked time
> as well into the blocked task's running utilization, which seems incorrect.
> Or did I miss something?
This is my concern too. This will negatively affect any task packing
because more tasks are going to be runnable but not running and that
going to increase the over all frequency (I'm assuming you want to use
this for frequency guidance eventually?).
-Saravana
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2018-06-05 23:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-04 16:05 [PATCH 0/2] Improve estimated utilization of preempted FAIR tasks Patrick Bellasi
2018-06-04 16:05 ` [PATCH 1/2] sched/fair: pelt: use u32 for util_avg Patrick Bellasi
2018-06-05 1:30 ` kbuild test robot
2018-06-05 1:34 ` kbuild test robot
2018-06-04 16:06 ` [PATCH 2/2] sched/fair: util_est: add running_sum tracking Patrick Bellasi
2018-06-04 17:46 ` Joel Fernandes
2018-06-05 15:21 ` Patrick Bellasi
2018-06-05 19:33 ` Joel Fernandes
2018-06-05 19:43 ` Joel Fernandes
2018-06-05 1:29 ` kbuild test robot
2018-06-05 6:57 ` Vincent Guittot
2018-06-05 15:11 ` Patrick Bellasi
2018-06-05 15:31 ` Juri Lelli
2018-06-05 16:54 ` Patrick Bellasi
2018-06-05 20:46 ` Joel Fernandes
2018-06-05 23:15 ` Saravana Kannan [this message]
2018-06-06 8:26 ` Vincent Guittot
2018-06-06 10:38 ` Patrick Bellasi
2018-06-05 10:46 ` kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=af0e3158-d97c-b546-ea51-03b77d4cd501@codeaurora.org \
--to=skannan@codeaurora.org \
--cc=connoro@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=joel@joelfernandes.org \
--cc=joelaf@google.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=patrick.bellasi@arm.com \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=smuckle@google.com \
--cc=tkjos@google.com \
--cc=vincent.guittot@linaro.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).