[PATCH v5 0/5] ARM: EXYNOS: cpuidle: fix AFTR mode on boards with secure firmware enabled

Daniel Lezcano daniel.lezcano at linaro.org
Tue Aug 5 08:07:36 PDT 2014


On 08/05/2014 04:26 PM, Krzysztof Kozlowski wrote:
> On 05.08.2014 16:03, Daniel Lezcano wrote:
>> On 08/05/2014 03:34 PM, Bartlomiej Zolnierkiewicz wrote:
>>> Hi,
>>>
>>> This patch series adds support for AFTR idle mode on boards with
>>> secure firmware enabled and allows EXYNOS cpuidle driver usage on
>>> Exynos4x12 SoCs.
>>>
>>> It has been tested on Trats2 board (using Exynos4412 SoC with secure
>>> firmware enabled) on which AFTR mode reduces power consumption by ~12%
>>> when EXYNOS cpuidle driver is enabled (in both cases the default
>>> exynos_defconfig config is used and CPU1-3 are offlined).
>>
>> As a sidenote:
>>
>> On my odroid-U2:
>>   * 4 cpus online -> 130 mA
>>   * 3 cpus online -> 164 mA
>>   * 2 cpus online -> 160 mA
>>   * 1 cpu online  -> 157 mA
>>
>> So were are consuming more when there are unplugged cpu ... any ideas ?
>
> On which tree are you testing? Current next has ARMCLK down feature
> enabled. ARMCLK down may stop working after hotunplugging CPU:
> http://www.spinics.net/lists/arm-kernel/msg352890.html
>
> That was observed especially on Exynos4212 where ARMCLK down stops
> working permanently. On Trats2 (Exynos4412) the clock down stopped only
> a for short period after disabling CPU.

Hi Krzysztof,

I tested the patches you mentioned above on top of this patchset.

You are right this is directly related to the ARMCLK but the behavior 
may be not as you expect I think.

When I boot:

4 cpus online => 131 mA

Then I unplug one by one the cpus:

3 cpus online => 127 mA
2 cpus online => 123 mA
1 cpu online  => 120 mA

This is consistent.

But now, I online the cpus:

2 cpus online => 162 mA
3 cpus online => 165 mA
4 cpus online => 131 mA


-- side note --

Please note, I did not disable the cpuidle neither the AFTR state and 
the kernel did not hang but I don't see the noticeable power saving we 
should be observing when there is one cpu remaining entering the AFTR 
state (cpuidle stats show we enter AFTR). So there is definitively 
something wrong with this state.


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




More information about the linux-arm-kernel mailing list