Jump to content

64bit p-state


hnak
 Share

131 posts in this topic

Recommended Posts

as you can see here vmin=987 and vmax=1100

...

but according to the intel website those value should be vmax=1362.5mv and vmin=850mv

As far as I know, Intel Core CPU's voltage is calculated as ( maybe ) :

voltage = 850.0 + VID * 0.0125 ( desktop CPU )

voltage = 712.5 + VID * 0.0125 ( mobile CPU )

and VoodooPower follows those equations.

Though VID-Voltage relationship is defined for VID = 0..0x3F, available max/min VIDs defined by BIOS may differ among CPU/MB, so the range is different from the widest range in spec.

Link to comment
Share on other sites

This works great. Thanks!

 

Any way of making a Sys Pref Pane for this instead of

 

using the App, or minimizing it to the menubar?

As the app needs to be resident, it is hard to do p-state switching solely by PrefPane.

It is possible in theory by splitting app into daemon / PrefPane ( or converting it into toolbar app ), though it is not an easy programing exercise.

 

For now, just hide it from Apple Menu.

Link to comment
Share on other sites

hnak

 

Is it possible to make this kext a standalone (will work even without launching the app)?

 

Thanks,

Please read my first post --- at least, I could not make it.

If you are comfortable with 32bit, VoodooPower is all that you need.

Link to comment
Share on other sites

Works quite well with my E6600 and Snow Leopard, thanks!

 

I found out that CPU-X doesn't show the correct CPU frequency when this tool does set the CPU to a lower P-state, e.g. PStateChanger shows 1600Mhz (lowest PState), but CPU-X always shows 2400Mhz (stock freq). This was not the case with VoodooPower and CPU-X under Leopard. Did someone else observe this behaviour?

 

And, might it somehow be possible to add more PStates with this tool?

And of course... a toolbar app would be _very_ nice!

Link to comment
Share on other sites

Works quite well with my E6600 and Snow Leopard, thanks!

 

I found out that CPU-X doesn't show the correct CPU frequency when this tool does set the CPU to a lower P-state, e.g. PStateChanger shows 1600Mhz (lowest PState), but CPU-X always shows 2400Mhz (stock freq). This was not the case with VoodooPower and CPU-X under Leopard. Did someone else observe this behaviour?

 

And, might it somehow be possible to add more PStates with this tool?

And of course... a toolbar app would be _very_ nice!

It's because VoodooPState.kext does not update CPU frequency variables of kernel. I thought it is not necessary as PStateChanger.app shows the values.

 

The number of p-state is the same as VoodooPower. You need to tweak the code if you want more.

 

I looked at a menubar app sample code, but Apple discourages ordinary applications to use the menubar.

1.0.2 shows workloads/pstates in doc icon when it's hidden. Just launch and hide it (command-H).

 

By the way, I use the same MB (P5B-E Plus) patching AppleYukon2 Info.plist.

Link to comment
Share on other sites

Would be really nice if you adding that "changing freq for variables of kernel" so that an sysctl -a or any other tool reads out that can see the pstate changes =MHz changes also !

Only MSR read Tools like MSR would be able to readout the real MHz, but for my knowledge no MSR SL is available. And also if i use MSR after some time (minutes) it stalls may whole system.

Thanks for already done great work !!!

Link to comment
Share on other sites

Would be really nice if you adding that "changing freq for variables of kernel" so that an sysctl -a or any other tool reads out that can see the pstate changes =MHz changes also !

Only MSR read Tools like MSR would be able to readout the real MHz, but for my knowledge no MSR SL is available. And also if i use MSR after some time (minutes) it stalls may whole system.

Thanks for already done great work !!!

I made a build to reflect frequency change and updated 1.0.2 links in the first post.

Link to comment
Share on other sites

when wake form sleep,

 

 

sleep will kill "Auto pstate" ,

 

have to cancel & select "Auto" once

 

Intel T3200 2.0GHZ (Pentium Dual-Core)

voodoopower 1.2.3 fine

but only 32bit in snowleopoard

It seems to be an application side problem. Quit and relaunch works ?

Unfortunately, however, sleep never works on my system, so the the symptom cannot be reproducible here and I cannot fix it.

I wish someone who has sleep-enabled system solve this problem.

Link to comment
Share on other sites

So the problem is not in kext but application. It should be easy if my system could sleep...

 

My system can sleep, and as you quoted, we use the same MB... I will post a list of my kexts and further configuration when I get home this afternoon, so that we can set up your system for sleep :)

Link to comment
Share on other sites

You hear "DONG" if you set pstate-min (highest) > p-state max (lowest). Did you change only pstate-min from default ?

Sorry, i dl lastest and also dong, dong, dong in the preferences.

I cant change anything, also the threshoots not.

Always on "dong". Only when i press Defaults no dong and the default is shown.

If i change any of the prefs and press Apply or Save i hear a dong.

 

So how i can set my PStateLimit to 1 (not going to PSate 0) ?

 

Can you add those prefs not also in the .kext ?

This may be needed, because i cant kextload the .kext and must first setup the Limit to 1 in the Psatechanger.

Or does all dongs come because at this moment no .kext is loaded ? As i said i cant load the kext without be sure that it didnt switch in Pstate 0 (highest Mhz).

Link to comment
Share on other sites

Sorry, i dl lastest and also dong, dong, dong in the preferences.

I cant change anything, also the threshoots not.

Always on "dong". Only when i press Defaults no dong and the default is shown.

If i change any of the prefs and press Apply or Save i hear a dong.

 

So how i can set my PStateLimit to 1 (not going to PSate 0) ?

 

Can you add those prefs not also in the .kext ?

This may be needed, because i cant kextload the .kext and must first setup the Limit to 1 in the Psatechanger.

Or does all dongs come because at this moment no .kext is loaded ? As i said i cant load the kext without be sure that it didnt switch in Pstate 0 (highest Mhz).

You cannot change prefs unless you load the kext. It checks if p-state <= max.

It's safe to load the kext as it switches p-state to max available (lowest clock) at startup.

Link to comment
Share on other sites

You cannot change prefs unless you load the kext. It checks if p-state

It's safe to load the kext as it switches p-state to max available (lowest clock) at startup.

Excat !

I did load now the .kext and set the pState Limit later. So it does work now. I thought it would be better to set the klimit before using the .kext.

How does the .kext knows at next usage about that setting ?

Its because i didnt know where that limit is saved. For example if i kextload it at next boottime (without starting the PstateChanger again) in an high cpu usage situation and it will not now that limit i will get KP for sure.

 

Thanks !!

Link to comment
Share on other sites

Excat !

I did load now the .kext and set the pState Limit later. So it does work now. I thought it would be better to set the klimit before using the .kext.

How does the .kext knows at next usage about that setting ?

Its because i didnt know where that limit is saved. For example if i kextload it at next boottime (without starting the PstateChanger again) in an high cpu usage situation and it will not now that limit i will get KP for sure.

 

Thanks !!

Good! I make the mechanism a little bit clearer.

Kext does not know anything about the setting. It just sets p-state to the lowest clock at startup and waits for incoming requests of p-state switch.

Preference is saved/loaded by PStateChanger application. So, p-state never rises unless the application runs.

Link to comment
Share on other sites

Good! I make the mechanism a little bit clearer.

Kext does not know anything about the setting. It just sets p-state to the lowest clock at startup and waits for incoming requests of p-state switch.

Preference is saved/loaded by PStateChanger application. So, p-state never rises unless the application runs.

That could be problematic in my case (never should switch to Psate 0)- if i would kextload it in an high cpu load situation it will KP my system getting to Pstate 0 before i can run the PStateChanger to Limit Pstate to 1.

would be nice to add, like you have done for Voltage settings and voodoopower has for all settings, to include the Pstate Limits also in the .plist of the .kext.

Link to comment
Share on other sites

That could be problematic in my case (never should switch to Psate 0)- if i would kextload it in an high cpu load situation it will KP my system getting to Pstate 0 before i can run the PStateChanger to Limit Pstate to 1.

would be nice to add, like you have done for Voltage settings and voodoopower has for all settings, to include the Pstate Limits also in the .plist of the .kext.

PState.kext NEVER raises p-state from the lowest level unless PStateChanger is launched ( no matter how much cpu load exists ). So, if you kextload in high cpu load situation, it just slows down CPU, or does nothing if already in the lowest state.

Only PStateChanger changes p-state.

Just launch PStateChanger when your cpu is not busy, then apply & save prefs. It will not take 10 seconds.

 

If you think 10 seconds are too long, just modify the code to set min p-state to 1 and build your customized app.

Change defaultPref() of preference.c as:

void defaultPref(PSTATECHANGER_PREF* pPref, int pstateCount){
...
pPref->pstate_min = 1; // 0;
...
}

 

In which p-state does your system boot when there is no p-state controlling kext loaded ?

Link to comment
Share on other sites

THANKS !! No need for .plist changes if the .kext leave CPU on slowest MHZ (Pstate) until the control app is started.

highest

Without any OS X .kext for pstates ? I think it will stay always in the fastest MHZ available.

Because the bios limits the multi (9*333 , default: 10*266) i have Psates für multi 6+7+8+9 (not 10).

All that 4 (not the 10*) are as psates listed in the dsdt.

Whats funny is that, if i use that iMark (was iCPU) tool (also app + .kext set) it switches never to the problematic pstate 0 (10* ) , their i get pstate 4 (6*) up to pstate 1 (9*).

 

 

Have you ever tried to limit (set down one for an test) the multi in your bios ? It should not damage you CPU if you switch down one multilevel.

The .kext seems to not see / acept that and tries to set highest multi (in my case 10 *) even if not available (limited by bios).

Link to comment
Share on other sites

hnak,

 

can you modify the app so that it doesn't show the CPU graph in the dock, or best, doesn't show up at all? ;) The graph is quite ugly, and I do not like moving things in my dock. I searched for a way to hide apps there, but Google wasn't particularly helpful.

 

Maybe you can make this behaviour optional, for those that like a CPU graph in their dock ;)

Link to comment
Share on other sites

Have you ever tried to limit (set down one for an test) the multi in your bios ? It should not damage you CPU if you switch down one multilevel.

The .kext seems to not see / acept that and tries to set highest multi (in my case 10 *) even if not available (limited by bios).

No, I haven't.

I actually did not change the logic of kext and it is exactly the same as VoodooPower, which does not extract information from BIOS.

 

hnak,

 

can you modify the app so that it doesn't show the CPU graph in the dock, or best, doesn't show up at all? :) The graph is quite ugly, and I do not like moving things in my dock. I searched for a way to hide apps there, but Google wasn't particularly helpful.

 

Maybe you can make this behaviour optional, for those that like a CPU graph in their dock ;)

For now, you can use 1.0.1 to avoid Doc icon animation.

Link to comment
Share on other sites

 Share

×
×
  • Create New...