Scanning the Internet for External Cloud Exposures via SSL Certs
Q2.12: Power Management Beyond the CPU
1. Power Management beyond the CPU
Amit Kucheria
Power Management Working Group
Linaro Connect, Hong Kong
1st
June 2012
2. The power guzzlers...
Internet Phone
Video streaming
Angry birds
GPS navigation
0
100
200
300
400
500
600
700
800
900
GPS
Audio
Wifi
Display
CPU
Use case
Powerconsumption(mW)
3. Concepts: quick overview
●
Clock trees [clock framework]
●
Power supplies [regulator framework]
●
Idle management [cpuidle framework]
●
Active CPU power/performance management
[cpufreq framework]
●
Active device power/performance management
[devfreq framework]
●
Dynamic device power management [runtime PM
framework]
●
Constraints [pm-qos framework]
8. mp3 playback: SW optimisations
Entire file read into main memory
●
Run ARM cores at low frequency [cpufreq]
●
Turn off MMC [runtime pm hooks in mmc driver]
●
What is turned off?
●
Clocks immediately
●
Regulators turned off lazily
●
Ensure system doesn't idle too long [cpuidle]
●
Register a latency constraint [pm-qos]
9. mp3 playback: SW optimisations
Decode mp3 to PCM
●
Decoded samples in main memory
●
Turn off ARM core, no more processing necessary
[cpuidle]
●
Peripherals may still be awake
10. mp3 playback: SW optimisations
DMA from main memory to some FIFO
●
e.g. FIFO on audio codec or some buffered serial port
●
RAM can be put in self-refresh
●
FIFO is large (few 100ms)
11. mp3 playback: SW optimisations
Buffer drives Codec while entire SoC is in very
low-power state
●
Timer wakes up DMA thread just before buffer
runs out
12. Conclusions
●
ARM power consumption is a small component in
a typical usecase
●
Surrounding peripherals need to be power-
managed too
●
Linux has frameworks to help with this
●
Runtime PM
●
PM-QoS
●
devfreq