From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Steve Muckle <steve.muckle@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Linux PM list <linux-pm@vger.kernel.org>,
Juri Lelli <juri.lelli@arm.com>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Michael Turquette <mturquette@baylibre.com>,
Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH 6/6] cpufreq: schedutil: New governor based on scheduler utilization data
Date: Thu, 3 Mar 2016 21:20:13 +0100 [thread overview]
Message-ID: <CAJZ5v0h47h-xW6a4jzwRuOOOSG+qsD9hegM7QCzbD8Wb-yPVKQ@mail.gmail.com> (raw)
In-Reply-To: <56D89952.1010606@linaro.org>
On Thu, Mar 3, 2016 at 9:06 PM, Steve Muckle <steve.muckle@linaro.org> wrote:
> On 03/03/2016 05:07 AM, Vincent Guittot wrote:
>> I mainly want to prevent any useless and periodic frequency switch
>> because of an utilization that changes with the current frequency (if
>> frequency invariance is not used) and that can make the formula
>> selects another frequency than the current one. That what i can see
>> when testing it .
>>
>> Sorry for the late reply, i was trying to do some test on my board but
>> was facing some crash issue (not link with your patchset). So i have
>> done some tests and i can see such instable behavior. I have generated
>> a load of 33% at max frequency (3ms runs every 9ms) and i can see the
>> frequency that toggles without any good reason. Saying that, i can see
>> similar thing with ondemand.
>
> FWIW I ran some performance numbers on my chromebook 2. Initially I
> forgot to bring in the frequency invariance support but that yielded an
> opportunity to see the impact of it.
>
> The tests below consist of a periodic workload. The OH (overhead)
> numbers show how close the workload got to running as slow as fmin (100%
> = as slow as powersave gov, 0% = as fast as perf gov). The OR (overrun)
> number is the count of instances where the busy work exceeded the period.
>
> First a comparison of schedutil with and without frequency invariance.
> Run and period are in milliseconds.
>
> scu (no inv) scu (w/inv)
> run period busy % OR OH OR OH
> 1 100 1.00% 0 79.72% 0 95.86%
> 10 1000 1.00% 0 24.52% 0 71.61%
> 1 10 10.00% 0 21.25% 0 41.78%
> 10 100 10.00% 0 26.06% 0 47.96%
> 100 1000 10.00% 0 6.36% 0 26.03%
> 6 33 18.18% 0 15.67% 0 31.61%
> 66 333 19.82% 0 8.94% 0 29.46%
> 4 10 40.00% 0 6.26% 0 12.93%
> 40 100 40.00% 0 6.93% 2 14.08%
> 400 1000 40.00% 0 1.65% 0 11.58%
> 5 9 55.56% 0 3.70% 0 7.70%
> 50 90 55.56% 1 4.19% 6 8.06%
> 500 900 55.56% 0 1.35% 5 6.94%
> 9 12 75.00% 0 1.60% 56 3.59%
> 90 120 75.00% 0 1.88% 21 3.94%
> 900 1200 75.00% 0 0.73% 4 4.41%
>
> Frequency invariance causes schedutil overhead to increase noticeably. I
> haven't dug into traces or anything. Perhaps this is due to the
> algorithm overshooting then overcorrecting etc., I do not yet know.
So as I said, the formula I used didn't take invariance into account,
so that's quite as expected.
> Here is a comparison, with frequency invariance, of ondemand and
> interactive with schedfreq and schedutil. The first two columns (run and
> period) are omitted so the table will fit.
>
> ondemand interactive schedfreq schedutil
> busy % OR OH OR OH OR OH OR OH
> 1.00% 0 68.96% 0 100.04% 0 78.49% 0 95.86%
> 1.00% 0 25.04% 0 22.59% 0 72.56% 0 71.61%
> 10.00% 0 21.75% 0 63.08% 0 52.40% 0 41.78%
> 10.00% 0 12.17% 0 14.41% 0 17.33% 0 47.96%
> 10.00% 0 2.57% 0 2.17% 0 0.29% 0 26.03%
> 18.18% 0 12.39% 0 9.39% 0 17.34% 0 31.61%
> 19.82% 0 3.74% 0 3.42% 0 12.26% 0 29.46%
> 40.00% 2 6.26% 1 12.23% 0 6.15% 0 12.93%
> 40.00% 0 0.47% 0 0.05% 0 2.68% 2 14.08%
> 40.00% 0 0.60% 0 0.50% 0 1.22% 0 11.58%
> 55.56% 2 4.25% 5 5.97% 0 2.51% 0 7.70%
> 55.56% 0 1.89% 0 0.04% 0 1.71% 6 8.06%
> 55.56% 0 0.50% 0 0.47% 0 1.82% 5 6.94%
> 75.00% 2 1.65% 1 0.46% 0 0.26% 56 3.59%
> 75.00% 0 1.68% 0 0.05% 0 0.49% 21 3.94%
> 75.00% 0 0.28% 0 0.23% 0 0.62% 4 4.41%
>
> Aside from the 2nd and 3rd tests schedutil is showing decreased
> performance across the board. The fifth test is particularly bad.
I guess you mean performance in terms of the overhead?
Thanks,
Rafael
next prev parent reply other threads:[~2016-03-03 20:20 UTC|newest]
Thread overview: 158+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-02 1:56 [PATCH 0/6] cpufreq: schedutil governor Rafael J. Wysocki
2016-03-02 2:04 ` [PATCH 1/6] cpufreq: Reduce cpufreq_update_util() overhead a bit Rafael J. Wysocki
2016-03-03 5:48 ` Viresh Kumar
2016-03-03 11:47 ` Juri Lelli
2016-03-03 13:04 ` Peter Zijlstra
2016-03-02 2:05 ` [PATCH 2/6][Resend] cpufreq: acpi-cpufreq: Make read and write operations more efficient Rafael J. Wysocki
2016-03-02 2:08 ` [PATCH 3/6] cpufreq: governor: New data type for management part of dbs_data Rafael J. Wysocki
2016-03-03 5:53 ` Viresh Kumar
2016-03-03 19:26 ` Rafael J. Wysocki
2016-03-04 5:49 ` Viresh Kumar
2016-03-02 2:10 ` [PATCH 4/6] cpufreq: governor: Move abstract gov_tunables code to a seperate file Rafael J. Wysocki
2016-03-03 6:03 ` Viresh Kumar
2016-03-02 2:12 ` [PATCH 5/6] cpufreq: Support for fast frequency switching Rafael J. Wysocki
2016-03-03 6:00 ` Viresh Kumar
2016-03-04 2:15 ` Rafael J. Wysocki
2016-03-03 11:16 ` Peter Zijlstra
2016-03-03 20:56 ` Rafael J. Wysocki
2016-03-03 21:12 ` Peter Zijlstra
2016-03-03 11:18 ` Peter Zijlstra
2016-03-03 19:39 ` Rafael J. Wysocki
2016-03-02 2:27 ` [PATCH 6/6] cpufreq: schedutil: New governor based on scheduler utilization data Rafael J. Wysocki
2016-03-02 17:10 ` Vincent Guittot
2016-03-02 17:58 ` Rafael J. Wysocki
2016-03-02 22:49 ` Rafael J. Wysocki
2016-03-03 12:20 ` Peter Zijlstra
2016-03-03 12:32 ` Juri Lelli
2016-03-03 16:24 ` Rafael J. Wysocki
2016-03-03 16:37 ` Peter Zijlstra
2016-03-03 16:47 ` Peter Zijlstra
2016-03-04 1:14 ` Rafael J. Wysocki
2016-03-03 16:55 ` Juri Lelli
2016-03-03 16:56 ` Peter Zijlstra
2016-03-03 17:14 ` Juri Lelli
2016-03-03 14:01 ` Vincent Guittot
2016-03-03 15:38 ` Peter Zijlstra
2016-03-03 16:28 ` Peter Zijlstra
2016-03-03 16:42 ` Peter Zijlstra
2016-03-03 17:28 ` Dietmar Eggemann
2016-03-03 18:26 ` Peter Zijlstra
2016-03-03 19:14 ` Dietmar Eggemann
2016-03-08 13:09 ` Peter Zijlstra
2016-03-03 18:58 ` Rafael J. Wysocki
2016-03-03 13:07 ` Vincent Guittot
2016-03-03 20:06 ` Steve Muckle
2016-03-03 20:20 ` Rafael J. Wysocki [this message]
2016-03-03 21:37 ` Steve Muckle
2016-03-07 2:41 ` Rafael J. Wysocki
2016-03-08 11:27 ` Peter Zijlstra
2016-03-08 18:00 ` Rafael J. Wysocki
2016-03-08 19:26 ` Peter Zijlstra
2016-03-08 20:05 ` Rafael J. Wysocki
2016-03-09 10:15 ` Juri Lelli
2016-03-09 23:41 ` Rafael J. Wysocki
2016-03-10 4:30 ` Juri Lelli
2016-03-10 21:01 ` Rafael J. Wysocki
2016-03-10 23:19 ` Michael Turquette
2016-03-09 16:39 ` Peter Zijlstra
2016-03-09 23:28 ` Rafael J. Wysocki
2016-03-10 3:44 ` Vincent Guittot
2016-03-10 10:07 ` Peter Zijlstra
2016-03-10 10:26 ` Vincent Guittot
[not found] ` <CAKfTPtCbjgbJn+68NJPCnmPFtcHD0wGmZRYaw37zSqPXNpo_Uw@mail.gmail.com>
2016-03-10 10:30 ` Peter Zijlstra
2016-03-10 10:56 ` Peter Zijlstra
2016-03-10 22:28 ` Rafael J. Wysocki
2016-03-10 8:43 ` Peter Zijlstra
2016-03-04 2:56 ` [PATCH v2 0/10] cpufreq: schedutil governor Rafael J. Wysocki
2016-03-04 2:58 ` [PATCH v2 1/10] cpufreq: Reduce cpufreq_update_util() overhead a bit Rafael J. Wysocki
2016-03-09 12:39 ` Peter Zijlstra
2016-03-09 14:17 ` Rafael J. Wysocki
2016-03-09 15:29 ` Peter Zijlstra
2016-03-09 21:35 ` Rafael J. Wysocki
2016-03-10 9:19 ` Peter Zijlstra
2016-03-04 2:59 ` [PATCH v2 2/10][Resend] cpufreq: acpi-cpufreq: Make read and write operations more efficient Rafael J. Wysocki
2016-03-04 3:01 ` [PATCH v2 3/10] cpufreq: governor: New data type for management part of dbs_data Rafael J. Wysocki
2016-03-04 5:52 ` Viresh Kumar
2016-03-04 3:03 ` [PATCH v2 4/10] cpufreq: governor: Move abstract gov_attr_set code to seperate file Rafael J. Wysocki
2016-03-04 5:52 ` Viresh Kumar
2016-03-04 3:05 ` [PATCH v2 5/10] cpufreq: Move governor attribute set headers to cpufreq.h Rafael J. Wysocki
2016-03-04 5:53 ` Viresh Kumar
2016-03-04 3:07 ` [PATCH v2 6/10] cpufreq: Support for fast frequency switching Rafael J. Wysocki
2016-03-04 22:18 ` Steve Muckle
2016-03-04 22:32 ` Rafael J. Wysocki
2016-03-04 22:40 ` Rafael J. Wysocki
2016-03-04 23:18 ` Rafael J. Wysocki
2016-03-04 23:56 ` Steve Muckle
2016-03-05 0:18 ` Rafael J. Wysocki
2016-03-05 11:58 ` Ingo Molnar
2016-03-05 16:49 ` Peter Zijlstra
2016-03-06 2:17 ` Rafael J. Wysocki
2016-03-07 8:00 ` Peter Zijlstra
2016-03-07 13:15 ` Rafael J. Wysocki
2016-03-07 13:32 ` Peter Zijlstra
2016-03-07 13:42 ` Rafael J. Wysocki
2016-03-04 22:58 ` Rafael J. Wysocki
2016-03-04 23:59 ` Steve Muckle
2016-03-04 3:12 ` [PATCH v2 7/10] cpufreq: Rework the scheduler hooks for triggering updates Rafael J. Wysocki
2016-03-04 3:14 ` [PATCH v2 8/10] cpufreq: Move scheduler-related code to the sched directory Rafael J. Wysocki
2016-03-04 3:18 ` [PATCH v2 9/10] cpufreq: sched: Re-introduce cpufreq_update_util() Rafael J. Wysocki
2016-03-04 10:50 ` Juri Lelli
2016-03-04 12:58 ` Rafael J. Wysocki
2016-03-04 13:30 ` [PATCH v3 " Rafael J. Wysocki
2016-03-04 21:21 ` Steve Muckle
2016-03-04 21:27 ` Rafael J. Wysocki
2016-03-04 21:36 ` Rafael J. Wysocki
2016-03-04 3:35 ` [PATCH v2 10/10] cpufreq: schedutil: New governor based on scheduler utilization data Rafael J. Wysocki
2016-03-04 11:26 ` Juri Lelli
2016-03-04 13:19 ` Rafael J. Wysocki
2016-03-04 15:56 ` Srinivas Pandruvada
2016-03-08 2:23 ` [PATCH v3 0/7] cpufreq: schedutil governor Rafael J. Wysocki
2016-03-08 2:25 ` [PATCH v3 1/7][Resend] cpufreq: Rework the scheduler hooks for triggering updates Rafael J. Wysocki
2016-03-09 13:41 ` Peter Zijlstra
2016-03-09 14:02 ` Rafael J. Wysocki
2016-03-08 2:26 ` [PATCH v3 2/7][Resend] cpufreq: Move scheduler-related code to the sched directory Rafael J. Wysocki
2016-03-08 2:28 ` [PATCH v3 3/7][Resend] cpufreq: governor: New data type for management part of dbs_data Rafael J. Wysocki
2016-03-08 2:29 ` [PATCH v3 4/7][Resend] cpufreq: governor: Move abstract gov_attr_set code to seperate file Rafael J. Wysocki
2016-03-08 2:38 ` [PATCH v3 5/7] cpufreq: Support for fast frequency switching Rafael J. Wysocki
2016-03-08 2:41 ` [PATCH v3 6/7] cpufreq: sched: Re-introduce cpufreq_update_util() Rafael J. Wysocki
2016-03-08 2:50 ` [PATCH v3 7/7] cpufreq: schedutil: New governor based on scheduler utilization data Rafael J. Wysocki
2016-03-16 14:41 ` [PATCH v4 0/7] cpufreq: schedutil governor Rafael J. Wysocki
2016-03-16 14:43 ` [PATCH v4 1/7] cpufreq: sched: Helpers to add and remove update_util hooks Rafael J. Wysocki
2016-03-16 14:44 ` [PATCH v4 2/7] cpufreq: governor: New data type for management part of dbs_data Rafael J. Wysocki
2016-03-16 14:45 ` [PATCH v4 3/7] cpufreq: governor: Move abstract gov_attr_set code to seperate file Rafael J. Wysocki
2016-03-16 14:46 ` [PATCH v4 4/7] cpufreq: Move governor attribute set headers to cpufreq.h Rafael J. Wysocki
2016-03-16 14:47 ` [PATCH v4 5/7] cpufreq: Move governor symbols " Rafael J. Wysocki
2016-03-16 14:52 ` [PATCH v4 6/7] cpufreq: Support for fast frequency switching Rafael J. Wysocki
2016-03-16 15:35 ` Peter Zijlstra
2016-03-16 16:58 ` Rafael J. Wysocki
2016-03-16 15:43 ` Peter Zijlstra
2016-03-16 16:58 ` Rafael J. Wysocki
2016-03-16 14:59 ` [PATCH v4 7/7] cpufreq: schedutil: New governor based on scheduler utilization data Rafael J. Wysocki
2016-03-16 17:35 ` Peter Zijlstra
2016-03-16 21:42 ` Rafael J. Wysocki
2016-03-16 17:36 ` Peter Zijlstra
2016-03-16 21:34 ` Rafael J. Wysocki
2016-03-16 17:52 ` Peter Zijlstra
2016-03-16 21:38 ` Rafael J. Wysocki
2016-03-16 22:39 ` Peter Zijlstra
2016-03-16 17:53 ` Peter Zijlstra
2016-03-16 21:48 ` Rafael J. Wysocki
2016-03-16 18:14 ` Peter Zijlstra
2016-03-16 21:38 ` Rafael J. Wysocki
2016-03-16 22:40 ` Peter Zijlstra
2016-03-16 22:53 ` Rafael J. Wysocki
2016-03-16 15:27 ` [PATCH v4 0/7] cpufreq: schedutil governor Peter Zijlstra
2016-03-16 16:20 ` Rafael J. Wysocki
2016-03-16 23:51 ` [PATCH v5 6/7][Update] cpufreq: Support for fast frequency switching Rafael J. Wysocki
2016-03-17 11:35 ` Juri Lelli
2016-03-17 11:40 ` Peter Zijlstra
2016-03-17 11:48 ` Juri Lelli
2016-03-17 12:53 ` Rafael J. Wysocki
2016-03-17 0:01 ` [PATCH v5 7/7][Update] cpufreq: schedutil: New governor based on scheduler utilization data Rafael J. Wysocki
2016-03-17 11:30 ` Juri Lelli
2016-03-17 12:54 ` Rafael J. Wysocki
2016-03-17 11:36 ` Peter Zijlstra
2016-03-17 12:54 ` Rafael J. Wysocki
2016-03-17 15:54 ` [PATCH v6 6/7][Update] cpufreq: Support for fast frequency switching Rafael J. Wysocki
2016-03-17 16:01 ` [PATCH v6 7/7][Update] cpufreq: schedutil: New governor based on scheduler utilization data Rafael J. Wysocki
2016-03-18 12:34 ` Patrick Bellasi
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=CAJZ5v0h47h-xW6a4jzwRuOOOSG+qsD9hegM7QCzbD8Wb-yPVKQ@mail.gmail.com \
--to=rafael@kernel.org \
--cc=juri.lelli@arm.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=mturquette@baylibre.com \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=steve.muckle@linaro.org \
--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).