From: Viresh Kumar <viresh.kumar@linaro.org>
To: Mason <slash.tmp@free.fr>
Cc: Linux PM <linux-pm@vger.kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: Plain DFS (no voltage scaling)
Date: Thu, 4 Feb 2016 08:53:07 +0530 [thread overview]
Message-ID: <20160204032307.GP3469@vireshk> (raw)
In-Reply-To: <56B244A0.60309@free.fr>
On 03-02-16, 19:19, Mason wrote:
> On 03/02/2016 17:13, Viresh Kumar wrote:
> > On 03-02-16, 16:07, Mason wrote:
> >> On 02/02/2016 22:11, Mason wrote:
> >>
> >>> I plan to enable the on-demand governor on the tango platform:
> >>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/tango4-smp8758.dtsi
> >>>
> >>> I found the cpufreq-dt binding doc:
> >>>
> >>> https://www.kernel.org/doc/Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt
> >>> https://www.kernel.org/doc/Documentation/devicetree/bindings/opp/opp.txt
> >>>
> >>> Something is not clear to me:
> >>>
> >>> If my platform cannot scale the voltage, what information
> >>> should I put in the voltage part of the DT?
> >>
> >> Someone pointed out that tweaking the frequency without tweaking
> >> the voltage might be counter-productive.
> >>
> >> I measured the power consumption of the entire board (at the power outlet)
> >> for 3 CPU frequencies (all other things being equal, I hope).
> >>
> >> idle @ 111 MHz = 4.6 W
> >> idle @ 333 MHz = 4.6 W
> >> idle @ 999 MHz = 4.6 W
> >>
> >> load @ 111 MHz = 5.0 W
> >> load @ 333 MHz = 5.7 W
> >> load @ 999 MHz = 7.7 W
> >>
> >> When idle, the kernel calls WFI, which "turns off" most of the CPU
> >> (clock gating?) such that the actual frequency does not matter.
> >>
> >> At full load (I use cpuburn to jog as many FUs simultaneously as
> >> possible) it looks like each additional MHz requires ~3 mW.
> >>
> >> So it would appear that an on-demand governor might not help to
> >> save power.
IOW, what's so special about how on-demand will behave in your case ?
If it doesn't work properly, then that's the same for everybody, isn't
it ?
> > Why do you say so ?
>
> Here's my (possibly incorrect) reasoning:
>
> If the CPU is idle, kernel calls WFI and frequency apparently
> doesn't matter.
Right.
> If the CPU has work to do, the on-demand governor will bump the
> frequency to the max (I think).
Not always, but it will choose the best frequency based on the load.
> I don't think the CPU spends a lot of time in the intermediate
> frequencies (neither max nor min).
It does, it was fixed somewhere in v3.* .
> But maybe my logic is flawed?
Yes.
> Also, some users (of our older kernel) reported problems were
> they considered the on-demand governor was "too slow" to ramp
> the frequency up. (But I don't know if they'd played with the
> configuration knobs.)
Shouldn't be the case anymore, or maybe those guys are more in favor
of the interactive governor :)
--
viresh
WARNING: multiple messages have this Message-ID (diff)
From: viresh.kumar@linaro.org (Viresh Kumar)
To: linux-arm-kernel@lists.infradead.org
Subject: Plain DFS (no voltage scaling)
Date: Thu, 4 Feb 2016 08:53:07 +0530 [thread overview]
Message-ID: <20160204032307.GP3469@vireshk> (raw)
In-Reply-To: <56B244A0.60309@free.fr>
On 03-02-16, 19:19, Mason wrote:
> On 03/02/2016 17:13, Viresh Kumar wrote:
> > On 03-02-16, 16:07, Mason wrote:
> >> On 02/02/2016 22:11, Mason wrote:
> >>
> >>> I plan to enable the on-demand governor on the tango platform:
> >>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/tango4-smp8758.dtsi
> >>>
> >>> I found the cpufreq-dt binding doc:
> >>>
> >>> https://www.kernel.org/doc/Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt
> >>> https://www.kernel.org/doc/Documentation/devicetree/bindings/opp/opp.txt
> >>>
> >>> Something is not clear to me:
> >>>
> >>> If my platform cannot scale the voltage, what information
> >>> should I put in the voltage part of the DT?
> >>
> >> Someone pointed out that tweaking the frequency without tweaking
> >> the voltage might be counter-productive.
> >>
> >> I measured the power consumption of the entire board (at the power outlet)
> >> for 3 CPU frequencies (all other things being equal, I hope).
> >>
> >> idle @ 111 MHz = 4.6 W
> >> idle @ 333 MHz = 4.6 W
> >> idle @ 999 MHz = 4.6 W
> >>
> >> load @ 111 MHz = 5.0 W
> >> load @ 333 MHz = 5.7 W
> >> load @ 999 MHz = 7.7 W
> >>
> >> When idle, the kernel calls WFI, which "turns off" most of the CPU
> >> (clock gating?) such that the actual frequency does not matter.
> >>
> >> At full load (I use cpuburn to jog as many FUs simultaneously as
> >> possible) it looks like each additional MHz requires ~3 mW.
> >>
> >> So it would appear that an on-demand governor might not help to
> >> save power.
IOW, what's so special about how on-demand will behave in your case ?
If it doesn't work properly, then that's the same for everybody, isn't
it ?
> > Why do you say so ?
>
> Here's my (possibly incorrect) reasoning:
>
> If the CPU is idle, kernel calls WFI and frequency apparently
> doesn't matter.
Right.
> If the CPU has work to do, the on-demand governor will bump the
> frequency to the max (I think).
Not always, but it will choose the best frequency based on the load.
> I don't think the CPU spends a lot of time in the intermediate
> frequencies (neither max nor min).
It does, it was fixed somewhere in v3.* .
> But maybe my logic is flawed?
Yes.
> Also, some users (of our older kernel) reported problems were
> they considered the on-demand governor was "too slow" to ramp
> the frequency up. (But I don't know if they'd played with the
> configuration knobs.)
Shouldn't be the case anymore, or maybe those guys are more in favor
of the interactive governor :)
--
viresh
next prev parent reply other threads:[~2016-02-04 3:23 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-02 21:11 Plain DFS (no voltage scaling) Mason
2016-02-02 21:11 ` Mason
2016-02-03 2:10 ` Viresh Kumar
2016-02-03 2:10 ` Viresh Kumar
2016-02-03 15:35 ` Mason
2016-02-03 15:35 ` Mason
2016-02-03 16:14 ` Viresh Kumar
2016-02-03 16:14 ` Viresh Kumar
2016-02-03 18:25 ` Mason
2016-02-03 18:25 ` Mason
2016-02-04 3:23 ` Viresh Kumar
2016-02-04 3:23 ` Viresh Kumar
2016-02-03 15:07 ` Mason
2016-02-03 15:07 ` Mason
2016-02-03 16:13 ` Viresh Kumar
2016-02-03 16:13 ` Viresh Kumar
2016-02-03 18:19 ` Mason
2016-02-03 18:19 ` Mason
2016-02-04 3:23 ` Viresh Kumar [this message]
2016-02-04 3:23 ` Viresh Kumar
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=20160204032307.GP3469@vireshk \
--to=viresh.kumar@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=slash.tmp@free.fr \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.