From: Dragan Simic <dsimic@manjaro.org>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Alexey Charkov <alchark@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: [PATCH 4/4] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588
Date: Fri, 26 Jan 2024 21:04:12 +0100 [thread overview]
Message-ID: <0ed47e91c2d69ade447bd79bdfe5637a@manjaro.org> (raw)
In-Reply-To: <9b72b688-be63-464e-a5dc-cf6051ccee12@linaro.org>
On 2024-01-26 13:56, Daniel Lezcano wrote:
> On 26/01/2024 08:49, Dragan Simic wrote:
>> On 2024-01-26 08:30, Alexey Charkov wrote:
>>> On Fri, Jan 26, 2024 at 11:05 AM Dragan Simic <dsimic@manjaro.org>
>>> wrote:
>>>> On 2024-01-26 07:44, Alexey Charkov wrote:
>>>> > On Fri, Jan 26, 2024 at 10:32 AM Dragan Simic <dsimic@manjaro.org>
>>>> > wrote:
>>>> >> On 2024-01-25 10:30, Daniel Lezcano wrote:
>>>> >> > On 24/01/2024 21:30, Alexey Charkov wrote:
>>>> >> >> By default the CPUs on RK3588 start up in a conservative performance
>>>> >> >> mode. Add frequency and voltage mappings to the device tree to enable
>
> [ ... ]
>
>>> Throttling would also lower the voltage at some point, which cools it
>>> down much faster!
>>
>> Of course, but the key is not to cool (and slow down) the CPU cores
>> too
>> much, but just enough to stay within the available thermal envelope,
>> which is where the same-voltage, lower-frequency OPPs should shine.
>
> That implies the resulting power is sustainable which I doubt it is the
> case.
Hmm, why wouldn't it be sustainable? Would you elaborate a bit, please?
I mean, there are so many factors that can't be known for sure in
advance,
so providing additional CPU throttling granularity can only be helpful.
> The voltage scaling makes the cooling effect efficient not the
> frequency.
>
> For example:
> opp5 = opp(2GHz, 1V) => 2 BogoWatt
> opp4 = opp(1.9GHz, 1V) => 1.9 BogoWatt
> opp3 = opp(1.8GHz, 0.9V) => 1.458 BogoWatt
> [ other states but we focus on these 3 ]
>
> opp5->opp4 => -5% compute capacity, -5% power, ratio=1
> opp4->opp3 => -5% compute capacity, -23.1% power, ratio=21,6
>
> opp5->opp3 => -10% compute capacity, -27.1% power, ratio=36.9
>
> In burst operation (no thermal throttling), opp4 is pointless we agree
> on that.
Well, if there's no thermal throtting at all, the opp3 is also not
needed. In an unlikely scenario like that, the opp5 is all we need.
> IMO the following will happen: in burst operation with thermal
> throttling we hit the trip point and then the step wise governor
> reduces opp5 -> opp4. We have slight power reduction but the
> temperature does not decrease, so at the next iteration, it is
> throttle at opp3. And at the end we have opp4 <-> opp3 back and forth
> instead of opp5 <-> opp3.
Why should the temperature not decrease when switching from the opp5
to the opp4? See, we can't assume or know in advance that reducing
the power consumption by 5% wouldn't do anything; 5% is actually
quite a lot. If that would do absolutely nothing, then something
else would probably be wrong or not as expected.
Also, for some workloads it might be better to have rather frequent
transitions between the opp4 and the opp3, instead of staying at the
opp3 for longer priods of time. Running 100 MHz faster can be quite
significant, especially on two CPU cores.
> It is probable we end up with an equivalent frequency average (or
> compute capacity avg).
>
> opp4 <-> opp3 (longer duration in states, less transitions)
> opp5 <-> opp3 (shorter duration in states, more transitions)
>
> Some platforms had their higher OPPs with the same voltage and they
> failed to cool down the CPU in the long run.
>
> Anyway, there is only one way to check it out :)
>
> Alexey, is it possible to compare the compute duration for 'dhrystone'
> with these voltage OPP and without ? (with a period of cool down
> between the test in order to start at the same thermal condition) ?
I agree that testing and recording as much data as possible is the best
approach. However, quite frankly, we should run more different tests,
not only one synthetic test.
prev parent reply other threads:[~2024-01-26 20:04 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 20:30 [PATCH 0/4] RK3588 and Rock 5B dts additions: thermal, OPP, rfkill and fan Alexey Charkov
2024-01-24 20:30 ` [PATCH 1/4] arm64: dts: rockchip: add rfkill node for M.2 Key E WiFi on rock-5b Alexey Charkov
2024-01-24 20:30 ` [PATCH 2/4] arm64: dts: rockchip: enable built-in thermal monitoring on rk3588 Alexey Charkov
2024-01-24 21:56 ` Daniel Lezcano
2024-01-25 8:26 ` Alexey Charkov
2024-01-25 10:02 ` Daniel Lezcano
2024-01-25 14:46 ` Alexey Charkov
2024-01-25 22:19 ` Dragan Simic
2024-01-25 13:34 ` Diederik de Haas
2024-01-24 20:30 ` [PATCH 3/4] arm64: dts: rockchip: enable temperature driven fan control on Rock 5B Alexey Charkov
2024-01-24 21:59 ` Daniel Lezcano
2024-01-25 23:13 ` Dragan Simic
2024-01-27 20:27 ` Dragan Simic
2024-01-28 20:08 ` Alexey Charkov
2024-01-29 0:46 ` Dragan Simic
2024-01-24 20:30 ` [PATCH 4/4] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588 Alexey Charkov
2024-01-25 9:30 ` Daniel Lezcano
2024-01-25 10:17 ` Alexey Charkov
2024-01-26 6:32 ` Dragan Simic
2024-01-26 6:44 ` Alexey Charkov
2024-01-26 7:04 ` Dragan Simic
2024-01-26 7:30 ` Alexey Charkov
2024-01-26 7:49 ` Dragan Simic
2024-01-26 12:56 ` Daniel Lezcano
2024-01-26 13:44 ` Alexey Charkov
2024-01-26 20:33 ` Dragan Simic
2024-01-27 19:41 ` Alexey Charkov
2024-01-28 3:35 ` Dragan Simic
2024-01-28 19:14 ` Alexey Charkov
2024-01-29 0:09 ` Dragan Simic
2024-01-29 7:39 ` Dragan Simic
2024-01-28 15:06 ` Daniel Lezcano
2024-01-28 19:32 ` Alexey Charkov
2024-01-26 20:04 ` Dragan Simic [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=0ed47e91c2d69ade447bd79bdfe5637a@manjaro.org \
--to=dsimic@manjaro.org \
--cc=alchark@gmail.com \
--cc=conor+dt@kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh+dt@kernel.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).