Re: [PATCH v6 00/25] PM / Domains: Support hierarchical CPU arrangement (PSCI/ARM)

From: Ulf Hansson
Date: Thu Mar 15 2018 - 10:19:52 EST


On 14 March 2018 at 18:19, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> Hi Ulf,
>
> On Wed, Mar 14, 2018 at 05:58:10PM +0100, Ulf Hansson wrote:
>> For ARM, the PSCI firmware interface may be managing the power to the CPUs.
>> Depending on the SoC, CPUs may also be arranged in hierarchical manner, which
>> could add another level of complexity from a CPU idle management point of view.
>>
>> PSCI v1.0+ adds support for the so called OS initiated CPU suspend mode, which
>> enables a more fine grained method, allowing Linux to get more control, in
>> regards to being energy efficient. This is typically useful for these kind of
>> complex battery driven platforms.
>
>> The series is based on v4.16-rc5, but applies also as of today to Rafael's
>> linux-pm.git next branch. The code has been tested on a QCOM 410c dragonboard
>> and I except that test coverage should be increased by some more boards
>> shortly (for ARM64 with PSCI OSI support - only a few DT changes are needed).
>
> Do we have any numbers to show how this affects energy efficiency?

What kind of numbers are you looking for?

I don't have fresh energy numbers at hand, but of course I can run
some use cases and trying to get some data from the ARM energy probe.

What I have done recently, is of course to verify the solution using
trace_printk(). That in way by checking statistics from it, to for
example find out how often we enter an idle state for the CPU cluster
(and how long we stay in it).

However, as I have been working on the QCOM 410c, which currently uses
a proprietary ATF binary and which has the PSCI OSI mode supported.
Just leaving it in the Platform Coordinated mode and test to get a
comparison, won't actually say us much - because we don't know, in
what way QCOM implemented the PC mode (if at all), but of course I can
ask.

>
> Are there any other platforms with OSI support?

Our goal is to implement OSI support in the upstream version of ATF,
so anybody that want it can pick it for their ARM SoC.

We have so far played with a few hacks in ATF to enable OSI mode, as
to test this on a few other ARM SoCs (Hikey and a MTK developer board
for example).

Thanks for reviewing!

Kind regards
Uffe