linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vincent Guittot <vincent.guittot@linaro.org>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: Morten Rasmussen <Morten.Rasmussen@arm.com>,
	"alex.shi@linaro.org" <alex.shi@linaro.org>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"pjt@google.com" <pjt@google.com>,
	"mingo@kernel.org" <mingo@kernel.org>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"srivatsa.bhat@linux.vnet.ibm.com"
	<srivatsa.bhat@linux.vnet.ibm.com>,
	"paul@pwsan.com" <paul@pwsan.com>,
	"mgorman@suse.de" <mgorman@suse.de>,
	"juri.lelli@gmail.com" <juri.lelli@gmail.com>,
	"fengguang.wu@intel.com" <fengguang.wu@intel.com>,
	"markgross@thegnar.org" <markgross@thegnar.org>,
	"khilman@linaro.org" <khilman@linaro.org>,
	"Frank.Rowand@sonymobile.com" <Frank.Rowand@sonymobile.com>,
	"paulmck@linux.vnet.ibm.com" <paulmck@linux.vnet.ibm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Bench for testing scheduler
Date: Fri, 8 Nov 2013 10:30:43 +0100	[thread overview]
Message-ID: <CAKfTPtCcMx1edpN0-3ghK3jiGSjOOtJpAoDegxm7Jg2x+oAJzA@mail.gmail.com> (raw)
In-Reply-To: <20131107140421.GF13674@arm.com>

On 7 November 2013 15:04, Catalin Marinas <catalin.marinas@arm.com> wrote:
> On Thu, Nov 07, 2013 at 01:33:43PM +0000, Vincent Guittot wrote:
>> On 7 November 2013 12:32, Catalin Marinas <catalin.marinas@arm.com> wrote:
>> > On Thu, Nov 07, 2013 at 10:54:30AM +0000, Vincent Guittot wrote:
>> >> During the Energy-aware scheduling mini-summit, we spoke about benches
>> >> that should be used to evaluate the modifications of the scheduler.
>> >> I’d like to propose a bench that uses cyclictest to measure the wake
>> >> up latency and the power consumption. The goal of this bench is to
>> >> exercise the scheduler with various sleeping period and get the
>> >> average wakeup latency. The range of the sleeping period must cover
>> >> all residency times of the idle state table of the platform. I have
>> >> run such tests on a tc2 platform with the packing tasks patchset.
>> >> I have use the following command:
>> >> #cyclictest -t <number of cores> -q -e 10000000 -i <500-12000> -d 150 -l 2000
>> >
>> > cyclictest could be a good starting point but we need to improve it to
>> > allow threads of different loads, possibly starting multiple processes
>> > (can be done with a script), randomly varying load threads. These
>> > parameters should be loaded from a file so that we can have multiple
>> > configurations (per SoC and per use-case). But the big risk is that we
>> > try to optimise the scheduler for something which is not realistic.
>>
>> The goal of this simple bench is to measure the wake up latency and
>> the reachable value of the scheduler on a platform but not to emulate
>> a "real" use case. In the same way than sched-pipe tests a specific
>> behavior of the scheduler, this bench tests the wake up latency of a
>> system.
>
> These figures are indeed useful to make sure we don't have any
> regression in terms of latency but I would not use cyclictest (as it is)
> to assess power improvements since the test is too artificial.
>
>> Starting multi processes and adding some loads can also be useful but
>> the target will be a bit different from wake up latency. I have one
>> concern with randomness because it prevents from having repeatable and
>> comparable tests and results.
>
> We can avoid randomness but still make it varying by some predictable
> function.
>
>> I agree that we have to test "real" use cases but it doesn't prevent
>> from testing the limit of a characteristic on a system
>
> I agree. My point is not to use this as "the benchmark".

ok, so i don't plan to make cyclictest "the" benchmark but "a"
benchmark among others because i'm not sure that we can cover all
needs with only one benchmark.

As an example, cyclictest gives information of the wake up latency
that can't be collected with trace

>
> I would prefer to assess the impact on latency (and power) using a tool
> independent from benchmarks like cyclictest (e.g. use the reports from
> power sched). The reason is that once we have those tools/scripts in the
> kernel, a third party can run it on real workloads and provide the
> kernel developers with real numbers on performance vs power scheduling,
> regressions between kernel versions etc. We can't create a power model
> that you can run on an x86 for example and give you an indication of the
> power saving on ARM, you need to run the benchmarks on the actual
> hardware (that's why I don't think linsched is of much use from a power
> perspective).
>
> --
> Catalin

  reply	other threads:[~2013-11-08  9:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-07 10:54 Bench for testing scheduler Vincent Guittot
2013-11-07 11:32 ` Catalin Marinas
2013-11-07 13:33 ` Vincent Guittot
2013-11-07 14:04   ` Catalin Marinas
2013-11-08  9:30     ` Vincent Guittot [this message]
2013-11-08  0:04   ` Rowand, Frank
2013-11-08  9:28     ` Vincent Guittot
2013-11-08 21:12       ` Rowand, Frank
2013-11-12 10:02         ` Vincent Guittot
2013-11-07 17:42 ` Morten Rasmussen
2013-11-09  0:15   ` Rowand, Frank

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=CAKfTPtCcMx1edpN0-3ghK3jiGSjOOtJpAoDegxm7Jg2x+oAJzA@mail.gmail.com \
    --to=vincent.guittot@linaro.org \
    --cc=Frank.Rowand@sonymobile.com \
    --cc=Morten.Rasmussen@arm.com \
    --cc=alex.shi@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=fengguang.wu@intel.com \
    --cc=juri.lelli@gmail.com \
    --cc=khilman@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markgross@thegnar.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=paul@pwsan.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=rjw@rjwysocki.net \
    --cc=srivatsa.bhat@linux.vnet.ibm.com \
    /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).