Quote:
Originally Posted by
RiverSource
Unfortunately I'm using another "posts per page" setting, therefore I'm not able to find this post.
Ah... Next time I won't link based on page. garyd9 linked to the paper in question.
The basic idea is that the classic rule of power usage being linearly proportional to clock speed becomes invalid when the CPU can shut off the clock when not in use. It goes completely out the window when the CPU can shut off core power when not in use.
At a minimum, our device has the ability to shut off the core clock when the CPU is idle. As a result, if something takes 90% of the CPU at 100 MHz and only 45% at 200 MHz - these tasks will at best take the same amount of total power, since the CPU is clock-gated 10% of the time at 100 MHz and 55% of the time at 200 MHz. If the voltages for these frequencies are the same, this means no power savings.
However, in addition to basic clock gating, the CPU has deeper idle states (look in arch/arm/mach-s5pv310/cpuidle.c ) that allow it to completely shut power off to the core. In addition to dynamic power consumption (dependent on clock rate), all CPUs have some level of static power consumption (dependent only on time, even if the clock is stopped). Basic idle doesn't affect static power, however, deeper idle states such as LPA and AFTR do, as the CPU can completely shut off power to parts of the core.
Once power gating comes into play - if 100 MHz and 200 MHz use the same voltage, 45% load at 200 will use LESS power than 90% load at 100, due to the CPU hitting LPA or AFTR idle states during the 55% idle time.
Also - if you start looking into idle states you may come across Ezekeel's Wheatley governor for the Galaxy Nexus. Be warned that due to differences in the way idle states are handled between the OMAP4 and the Hummingbird/Exynos, Wheatley will NOT work as it was designed on Hummingbird or Exynos CPUs.