I have a machine with an Intel Core 2 Duo T7500 2.2Ghz and am exploring the different frequencies available on the processor. On Windows XP, I am using the API for managing/configuring the machine's power policy. I also have dual-boot set up with Ubuntu and am looking at that too playing with the different governors as well as manually setting the frequency.
A few questions:
1) The data sheet for the T7500 notes 5 frequency states: 2.2, 2.0, 1.6, 1.2, .8GHz. When running Ubuntu, I am able to find and set the frequency to all of these states. However, when using Windows XP, and changing the throttle level, I am able to get a few other frequency states! It looks like on the Windows XP side, I get 2.2, 1.6, 1.2, .8, .6, .4, .2Ghz. These frequencies show up when I use the powermon tool to monitor CPU frequency! This is weird... what is going on? Are there other frequency states available? Or am I somehow tapping into other C-states or something? Another strange note is that from any state lower than .8Ghz, I cannot switch back to regular on-demand Windows mode. I have to switch to .8Ghz or above, and then switch.
2) I haven't found it yet, but is there API on Windows XP and Linux for taking advantage of the other C-states for halting one of the two cores? If yes, could you point me to some documentation? Also, from searching online it seems it may require a tickless kernel.. is this correct?
Intel Core 2 Duo Frequency Scaling and Core Halting