64bit p-state

Posted 26 September 2009 - 10:07 AM

As Apple has moved com.apple.unsupported to com.apple.private in 10.6, kernel APIs are not visible from 64bit kexts without Apple's signature. As a result, I could not build 64 bit VoodooPower.

So I split the power management functionality into application and kext, where the kext simply reads/write CPU registers and the application monitors CPU ticks and notifies p-state switching to the kext.It works in my environment ( Q9300 32/64, Phenom920 32 ). As I do not have Nehalem, I have no idea whether it works with them.

Of course, you do not need this at all if you are comfortable with 32bit ( AMD user has no choice anyway ) or using AppleIntelCPUManagement with DSDT patch. As TSC is not adjusted ( 10.6 kernel has removed rtc_stepping/rtc_stepped ), non-constant TSC CPU ( for example, K8 ) may have bad effect by the clock change.

How to use: Install VoodooPState.kext and launch PStateChanger.app.

The kext is reduced version of VoodooPower 1.2.3 ( by SuperHai ) and it generates the same p-state table. It cannot co-exist with power-management kexts which manipulates p-state (for example, VoodooPower ).

Posted 26 September 2009 - 01:39 PM

mitch_de

InsanelyMacaholic

Retired

2,908 posts

Gender:Male

Location:Stuttgart / Germany

Thaks i will try that.
I used voodoo minipower on my C2D in 10.5.
Itried iCPU, but it worked noz 100%. Showed pStates kooekt but didnt trottle or shows trotthling but CPU-X didnt (MSR isnt working in Snow i think).
I will report.

Posted 28 September 2009 - 05:56 AM

Posted 28 September 2009 - 06:13 AM

hnak

InsanelyMac Sage

Members

316 posts

Gender:Male

Is it possible to change the throttling level?

Not now. How would you like to change ?

As I included source, you can do whatever you want.If it is p-state max/min or update interval that you want to change, look into AppDelegate and modify them.If it is voltage max/min, you can tweak them with kext's Info.plist (Intel only).

Posted 28 September 2009 - 06:34 AM

mitch_de

InsanelyMacaholic

Retired

2,908 posts

Gender:Male

Location:Stuttgart / Germany

Hi, i will test your new tool soon - i dont forget it Q: What do you think about that russian iCPU (now named voodoomonitor ) Snow Leo only - do you testet it?http://www.applelife...I have source 1.0.3 but it looks that no newer source of that is available (1.0.7)The bad is, i cant russian, and i got an warning asking there (problem no mV changes seen) in english

i attached the 1.0.3 source and 1.07 voodoomonitor , because you need to be registered to get the DL)I think that has its ground in superhai´s voodoopower, but i am not sure.

Attached Files

Posted 28 September 2009 - 06:51 AM

riws

InsanelyMac V.I.P.

Members

6,081 posts

Not now. How would you like to change ?

As I included source, you can do whatever you want.If it is p-state max/min or update interval that you want to change, look into AppDelegate and modify them.If it is voltage max/min, you can tweak them with kext's Info.plist (Intel only).

I mean, it there are higher needs it will make the Frequency step up quicker.

At Moment as an Example my Dock lags, it I click a Folder on the Dock it wont rise the Frequency.

Posted 28 September 2009 - 07:12 AM

Hi, i will test your new tool soon - i dont forget it Q: What do you think about that russian iCPU (now named voodoomonitor ) Snow Leo only - do you testet it?

They have split VoodooPower into kext/app basically based on the same idea as mine.However, 1.0.3 app does not do anything but monitoring user's slider control and notifying the change to kext. It does not check CPU workload, though later version (VoodooMonitor.app) may do. My app does monitor workload even though the algorithm might be rough.As far as I understand, the 1.0.3 source is incomplete. For example, GlobalThermal is never initialized but written to msr register and it's scary to test ... forgive me if I am wrong.I also found that AMD support is missing unlike mine.

I mean, it there are higher needs it will make the Frequency step up quicker.

At Moment as an Example my Dock lags, it I click a Folder on the Dock it wont rise the Frequency.

Solution may be shortening the interval ( currently 500 ms ? ) and lowering the threshold to raise p-state ( 0.8 ) of app.As kext's looptimer interval is 200, you also may have to change the value .Please tell me if you find good values by experiment.

Note: by clicking any of p-state values ( p-state tab ), you can stop throttling and fix p-state to a certain level in case you want maximum performance regardless of current state ( for example, in games ). Dock lags disappear by doing so ?

Posted 28 September 2009 - 07:58 AM

riws

InsanelyMac V.I.P.

Members

6,081 posts

Solution may be shortening the interval ( currently 500 ms ? ) and lowering the threshold to raise p-state ( 0.8 ) of app.As kext's looptimer interval is 200, you also may have to change the value .Please tell me if you find good values by experiment.

How to do it? In the source?

Note: by clicking any of p-state values ( p-state tab ), you can stop throttling and fix p-state to a certain level in case you want maximum performance regardless of current state ( for example, in games ). Dock lags disappear by doing so ?

The lag disappears then. It looks the lag appears with the lowest Pstate, 600Mhz for me.

Posted 28 September 2009 - 11:43 AM

Posted 28 September 2009 - 06:22 PM

mitch_de

InsanelyMacaholic

Retired

2,908 posts

Gender:Male

Location:Stuttgart / Germany

Tested pstate with C2D E7300 2.66 GHZ/266MHz*10 OC @ 3.0 GHZ / 333 MHz*9Works !BUT , major problem : In Voodoopower or minipower (leo 32 Bit) there is an key in .plist which can set Pstate Limit Highest higher than 0.Means if set to 1, cpu never will set to P-State 0.I need this (used with Leo minivoodoopower with success !) because if pstate is set to 0, 10* 333 is much to high = KP. 3330 MHz too high. In my BIOS FSB Multi set to 9.Can you add this P-State high(low) Limits keys in .plist for usage in the new 64 Bit version too ?Thanks

Posted 01 October 2009 - 01:56 PM

Posted 01 October 2009 - 06:47 PM

mitch_de

InsanelyMacaholic

Retired

2,908 posts

Gender:Male

Location:Stuttgart / Germany

I updated the donwload link in my first post.It supports preference now.

THANKS!

But how can i set that PstateLimit High (fastest) to 1 ?I started the Pstatechanger, PREFS and changed the P-Min (is that same as PstateLimitHigh in screenshoot i have in voodoopower?) but i only hear "DONG", error beep. If i leave the Pstatechanger and run again the vefore added new values are not saved. I clicked APPLY + SAVE but onl heared the DONG sound. Also no .plist was created in the preferences (home).

I must have that Pstate Limit before i can load the .kext, because without that KP if short Pstate 0.

Can i put that key (which name ?) in the .kext itself as an workaround ?

Here the screenshoot of my voodoopower .plist, which works perfect chaning that Limit from 0 > 1