A few things I've learned:
In an attempt to make the underclocking conversation a bit more comprehensible, I've taken a fairly systematic result in trying to understand the nuances of this process.
First off, you can only underclock if you have native cpu management working. Although the clients and server apps may load from kexts, you only have turbo boost enabled if your kernel.log has something like this in it:
Apr 20 16:41:53 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios EEEEFF
It will have only 4 numbers/letters if a 4 core processor.
The current versions of Chimera (1.9.1 ) and Chameleon v2.1 r1923 (ErmaC) work just fine to produce underclocking results. You do not have to use Chameleon 2 RC5 variants. This is nice for those of us with newer Nvidia cards.
There are currently two major development builds for FakeSMC (
https://github.com/kozlek/HWSensors and
http://www.assembla.com/code/fakesmc/subversion/nodes)
, as of April 19th 2012, either appear to work OK, but each has their individual problems when trying to evaluate monitoring. I'm using the current version from Slice (at asssembla.com) v4.2r604.Use hardware monitoring with caution. Some versions of the associated FAKESMC cpu monitors DO NOT WORK to underclock as they disable break turbo ratios. I install FakeSMC without any monitoring kexts first. If you want to play it safe up front, just use FakeSMC without any of the monitoring texts. I have not tested the current version of FakeSMC that comes with Multibeast 4.3
You do need to do all of the edits to DSDT and FakeSMC outlined by d00d in
http://www.insanelymac.com/forum/index.php?showtopic=233891
Lion 10.7.3 works OK to produce underclocking results
system kext cache is dependent on the presence or absence of C-states when built; use KernelCache=No flag in org.chameleon.Boot.plist while mucking about. You can rebuild the system kext cache when you have settled on turbo ratios and whether or not to use C and P states.
And although you would be lead to believe that all energy states are being implemented by the proponents of underclocking, this is not so. You can not underclock this system and have C and P state generation enabled (actually this may only be true for P states, havent' tested thoroughly).
To get underclocking to successfully work (as of this writing) using current chameleon and FakeSMC versions, you must have the following two flags set in org.chameleon.Boot.plist: GeneratePStates=No and GenerateCStates=No
So what does this all mean. Here are some early results (no efforts to optimize anything). Turbo mode enabled for all, BIOS settings as per d00d and Tutor:
Geek bench scores average of 3
Stock is multiplier (26) times BLCK (133). Turbo is 111122
Power consumption includes my monitors (about 80 watts total)
Stock Intel Xeon x5690 x 2 at 3.46GHz, +C + P states: Geekbench 27,076 325Watts Idle, 600Watts peak
Stock -C -P states: Geekbench 27,170
360 Watts idle, 600 watts peak
Underclocked is multiplier (13) times BLCK 160 (2.08 GHz). Turbo is EEEEFF (4.48 highest turbo cores).
Underclocked +C +P states: Geekbench 17,800, 295 watts, peak 450 watts
Underclocked -C -P states: Geekbench 33,852 385 watts idle, peak 700 watts
Overclocked is 160x 26 multiplier, (4.48 Ghz highest turbo, 4.16 Base)
Overclocked +C +P states: Geekbench 32,150 350 watts idle, peak 685 Watts
So clearly underclocking offers an advantage in performance versus traditional overclocking. Depending on processor utilization, it is not so clear that it saves energy, since the C state generation is allowing less energy use.