Blog

Posted 2011/01/25

Power Mac

As part of my research into kernel-level power management on the Darwin platform I have been trying my software out with some power meters. I have two Mac laptops hooked up (minus batteries) and have been doing the normal sanity testing.

When you first start measuring energy in benchmarks it is important that you find the upper and lower bounds of power consumption. If you do not find these bounds before you start doing more complicated tests you will have no way of knowing whether your results are sane. For instance you can easily make a mistake and record more power savings than are physically possible on the hardware.

For a CPU, the sanity check is measuring energy consumption at idle and at full utilization at the various power states supported (often frequencies). At the bare minimum you must try the lowest and highest power states.

Here are my sanity checks for the two Mac laptops:

--------------------------------------------------------------------------
MacBook Pro Core 2 Duo

Results with Watts Up:

CPU 800 MHz idle        23.2 watts
CPU 1200 MHz idle       23.4 watts
CPU 800 MHz burn        30.3 watts
CPU 1200 MHz burn       33.4 watts

--------------------------------------------------------------------------
iBook G4

Results with Watts Up:

Highest idle CPU        17.2 watts
Lowest idle CPU         16.9 watts
Highest burn CPU        28.6 watts
Lowest burn CPU         22.3 watts

I currently have a problem where I can't get the MacBook Pro to go into it's highest power state (2400 MHz) using my kernel module.