From: Vincent Guittot <vincent.guittot@linaro.org>
To: Quentin Perret <quentin.perret@arm.com>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Morten Rasmussen <Morten.Rasmussen@arm.com>,
Patrick Bellasi <patrick.bellasi@arm.com>,
Paul Turner <pjt@google.com>, Ben Segall <bsegall@google.com>,
Thara Gopinath <thara.gopinath@linaro.org>,
pkondeti@codeaurora.org
Subject: Re: [PATCH v5 2/2] sched/fair: update scale invariance of PELT
Date: Thu, 8 Nov 2018 17:04:45 +0100 [thread overview]
Message-ID: <CAKfTPtCXPSUXE_zL9Paoazv0EmXStv7ZUtG6JJqZb5o0Zfg9vw@mail.gmail.com> (raw)
In-Reply-To: <20181108113532.vh7q3s3k7vpbevl3@queper01-lin>
On Thu, 8 Nov 2018 at 12:35, Quentin Perret <quentin.perret@arm.com> wrote:
>
> On Wednesday 07 Nov 2018 at 11:47:09 (+0100), Dietmar Eggemann wrote:
> > The important bit for EAS is that it only uses utilization in the
> > non-overutilized case. Here, utilization signals should look the same
> > between the two approaches, not considering tasks with long periods like the
> > 39/80ms example above.
> > There are also some advantages for EAS with time scaling: (1) faster
> > overutilization detection when a big task runs on a little CPU, (2) higher
> > (initial) task utilization value when this task migrates from little to big
> > CPU.
>
> Agreed, these patches should help detecting the over-utilized scenarios
> faster and more reliably, which is probably a good thing. I'll try to
> have a look in more details soon.
>
> > We should run our EAS task placement tests with your time scaling patches.
>
> Right, I tried these patches with the synthetic tests we usually run
> against our upstream EAS dev branch (see [1]), and I couldn't see any
> regression, which is good sign :-)
Thanks for testing
>
>
> <slightly off topic>
> Since most people are probably not familiar with these tests, I'll try
> to elaborate a little bit more. They are unit tests aimed to stress
> particular behaviours of the scheduler on asymmetric platforms. More
> precisely, they check that capacity-awareness/misfit and EAS are
> actually able to up-migrate and down-migrate tasks between big and
> little CPUs when necessary.
>
> The tests are based on rt-app and ftrace. They basically run a whole lot
> of scenarios with rt-app (small tasks, big tasks, a mix of both, tasks
> changing behaviour, ramping up, ramping down, ...), pull a trace of the
> execution and check that:
>
> 1. the task(s) did not miss activations (which will basically be true
> only if the scheduler managed to provide each task with enough CPU
> capacity). We call that one 'test_slack';
>
> 2. the task placement is close enough to the optimal placement
> energy-wise (which is computed off-line using the energy model
> and the rt-app conf). We call that one 'test_task_placement'.
>
> For example, in order to pass the test, a periodic task that ramps up
> from 10% to 70% over (say) 5s should probably start its execution on
> little CPUs to not waste energy, and get up-migrated to big CPUs later
> on to not miss activations. Otherwise one of the two checks will fail.
>
> I'd like to emphasize that these test scenarios are *not* supposed to
> look like real workloads at all. They've be design with the sole purpose
> of stressing specific code paths of the scheduler to spot any obvious
> breakage. They've proven quite useful for us in the past.
>
> All the tests are publicly available in the LISA repo [2].
> </slightly off topic>
>
>
> So, to come back to Vincent's patches, I managed to get 10/10 pass rate
> to most of the tests referred to as 'generic' in [1] on my Juno r0. The
> kernel I tested had Morten's misfit patches, the EAS patches v8, and
> Vincent's patches on top.
>
> Although I still need to really get my head around all the implications
> of changing PELT like that, I cannot see any obvious red flags from the
> testing perspective here.
>
> Thanks,
> Quentin
>
> ---
> [1] https://developer.arm.com/open-source/energy-aware-scheduling/eas-mainline-development
> [2] https://github.com/ARM-software/lisa
prev parent reply other threads:[~2018-11-08 16:05 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-26 16:11 [PATCH v5 0/2] sched/fair: update scale invariance of PELT Vincent Guittot
2018-10-26 16:11 ` [PATCH v5 1/2] sched/fair: move rq_of helper function Vincent Guittot
2018-10-26 16:11 ` [PATCH v5 2/2] sched/fair: update scale invariance of PELT Vincent Guittot
2018-10-30 9:19 ` Pavan Kondeti
2018-10-30 10:50 ` Vincent Guittot
2018-10-31 7:20 ` Dietmar Eggemann
2018-10-31 9:18 ` Vincent Guittot
2018-11-01 9:38 ` Dietmar Eggemann
2018-11-05 7:59 ` Vincent Guittot
2018-11-02 15:36 ` Dietmar Eggemann
2018-11-05 9:10 ` Vincent Guittot
2018-11-05 14:58 ` Morten Rasmussen
2018-11-06 14:27 ` Vincent Guittot
2018-11-06 14:59 ` Peter Zijlstra
2018-11-07 10:47 ` Dietmar Eggemann
2018-11-07 12:58 ` Vincent Guittot
2018-11-08 11:35 ` Quentin Perret
2018-11-08 16:04 ` Vincent Guittot [this message]
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=CAKfTPtCXPSUXE_zL9Paoazv0EmXStv7ZUtG6JJqZb5o0Zfg9vw@mail.gmail.com \
--to=vincent.guittot@linaro.org \
--cc=Morten.Rasmussen@arm.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=patrick.bellasi@arm.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=pkondeti@codeaurora.org \
--cc=quentin.perret@arm.com \
--cc=rjw@rjwysocki.net \
--cc=thara.gopinath@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).