AW: Why is the e500v2 core not using cpuidle?
Thomas Waldecker
Thomas.Waldecker at tqs.de
Sat Feb 2 20:41:27 EST 2013
Hi Scott,
>> Why is there no support for the cpuidle framework?
> Because nobody implemented it. :-)
That's the reason I thought before :-)
> The only reason I can think of to implement it on this chip would be to
> dynamically choose when to enter nap versus doze, rather than always
> just using doze. It's not clear whether the difference in power
> savings is worth it -- do you have any way of measuring?
Is the e500 only using doze? There are comments in the file
arch/powerpc/kernel/idle_e500.S
which are stating:
/* Go to NAP or DOZE now */
or
/* Return from NAP/DOZE ...*/
and because of this comments I thought that both modes are in use.
I have a way of measuring the power and it is also a small part of my masterthesis,
but it is not very meaningful because at the measuring point there are other peripheral
components too.
According to the comments can I activate the nap mode somehow?
>> How can I debug the e500 idle modes?
>> Are there any statistics?
> Top reports idle percentage...
If the e500 and e500v2 are indeed using only the doze mode it
would be enough statistics.
>> I already ran PowerTOP on a QorIQ P2020 but it's almost useless
>> because the information is missing.
> What information are you looking for?
On my laptop I get detailled idle stats in PowerTOP 2.2
Package | CPU 0
POLL 0.0% | POLL 0.0% 0.0 ms
C1 0.7% | C1 0.4% 0.2 ms
C2 86.0% | C2 86.8% 1.4 ms
| CPU 1
| POLL 0.0% 0.4 ms
| C1 0.9% 0.6 ms
| C2 85.2% 1.5 ms
It is using the sysfs interface
thomas at localhost /s/d/s/c/c/cpuidle> pwd
/sys/devices/system/cpu/cpu0/cpuidle
thomas at localhost /s/d/s/c/c/cpuidle> tree
.
├── state0
│ ├── desc
│ ├── disable
│ ├── latency
│ ├── name
│ ├── power
│ ├── time
│ └── usage
├── state1
(same as state0)
└── state2
(also same as state 0)
thomas at localhost /s/d/s/c/c/cpuidle> cat */name
POLL
C1
C2
Such statistics would be great for the doze, nap (and sleep for the whole package).
Kind regards,
Thomas
More information about the Linuxppc-dev
mailing list