Jump to content

New version 1.1 of GenericCPUPowerManagement


Superhai
 Share

625 posts in this topic

Recommended Posts

This thread is becoming a bit unmanageble for me to follow, because there are so many different issues, and some of you are very poor at posting specs or outputs and following directions.

 

I suggest all of you with some kind of issue. Read the documentation. If you don't find an answer, make a new thread on my forum at http://www.superhai.com/ , describe it as detailed as possible. Ensure this has to do with CPU power management, or are caused by it. (I.e. no fan control, backlight, smbios, or whatever)

 

If it freezes, run the debug version of the kext in "single user mode" (only -s option at boot). Include in the post a picture of the screen when it freezes.

 

If it is not freezing you need to post me a bug report as it is stated in the documentation. You find a link to the documentation at the first post or on my website.

 

Failure to do the above, will either result in ignore and the issue considered solved or that your post is deleted.

 

And no PM's whatsoever.

 

What does this thing do?

It will control some aspects of power management for your cpu. Most important is the speedstep functionality, to lower power footprint. It makes your cpu cooler or your battery lasting longer.

 

Update on 20th of December 2008

 

1.1.4 Fixes for netburst (p4, pd, etc) and other bugfixes

Version 1.1.3 mainly bugfixes.

1.1.2: AMD PowerNow running as well as other bugfixes.

A few new features including T-States or stopclock throttling (intel only for now). Should give some more time out from the battery if not running resource heavy apps.

Now the GUI app is ready, and also the command line tool. Go to http://www.superhai.com/ to find downloads.

 

I have released version 1.1

This is a major rewrite and therefore a new app will be required for those of you who want to see the values. That is not ready yet so have patience. The kext loads and works fine by itself. I will try to create a pdf or similar so to have a better help for you to understand all features.

 

What is new in 1.1?

  • AMD implementation
  • New option to use ACPI Performance State Control
  • Better automatic CPU detection and probing
  • Much improved multi core support
  • Source is easier for me to maintain and have fewer bugs
  • A new GUI application
  • A command line app
  • Much more information provided

Yet to come

  • Small fixes for Non Constant TSC CPUs
  • Minimal footprint release with no external control
  • New bugs etc.

Any ideas for improvements? Tell me

 

GenericCPUPowerManagement Help

 

-------------------------------------------------------------------------------------

Not working? Do this:

After the kext is loaded, post the output of this to me;

sudo dmesg | grep GenericCPUPowerManagement
ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Characteristics"
ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "Status"

 

After request from a few, I also added shutdown/restart fix functionality, which works for some of you.

 

Download is here:

http://www.superhai.com/darwin.html

 

Support forum is here:

http://www.superhai.com/forum/viewforum.php?f=12

I would prefer if you post feedback there

 

You don't need to copy it to /System/Library/Extensions to run it if you don't want it at startup.

Just copy it somewhere and ensure that you do a

 

sudo -s

chmod -R 755 GenericCPUPowerManagement.kext

chown -R root:wheel GenericCPUPowerManagement.kext

 

then a

 

kextload GenericCPUPowerManagement.kext

 

To unload it again you can use

 

kextunload GenericCPUPowerManagement.kext

 

It will complain about "Kext has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style" because some functions are required from both kpi and kernel.

 

If you have frequency issues on intel cpus, check that your system is able to provide the correct FSB. This is not an issue of this kext, but your system. On AMD you should make a bug report.

 

The app can be anywhere, but in /Application is ok, no need to set any custom permission.

And last but least thanks to mercurysquad et al for some of the ideas and basis of this kext. This is free app and kext, but it is limited and reserved licence and not for any purpose or fitness. Commercial distribution is prohibited without additional licence.

Link to comment
Share on other sites

Thanks so much!

As always GREAT JOB!

Work as it should now on my T8300 CPU.

Still I want to go under 39*C (j/k)

Now if you don't mind I have some tips for the application:

- when info data is selected on menu bar to can chose what value to remain( for me only interested for all day long is temp. and freq., no need for the rest)

- freq to be integer not like now 832, 978 etc. (just cosmetic)

and app needs a icon ;)

 

Thanks again!

Link to comment
Share on other sites

Hi.

Thanks for you hard work and nice gui for the speedstep app... :o

 

Here is all the info i can get from my cpu (i tried to use cpuz under parallels, but it didnt gave me all the info and i dont know how to get it on my hackintosh... will try more programs to get all the info...

 

Got this fro Grep:

Sep 1 15:36:05 localhost kernel[0]: GenericIntelCPUPowerManagement: Generic Intel CPU Power Management driver 1.0 © 2008 Superhai Development Co

Sep 1 15:36:05 localhost kernel[0]: GenericIntelCPUPowerManagement: Based on the Great Mercurysquads work. For internal use only. All Rights Reserved.

 

 

CPU Type [CORE2DUO T7100]

 

CPU Signature [06FDh] Mobile CPU [x] Latency [] us

Max multiplier [9] Half multiplier [_____] TjMAX [100] C (Max multiplier and Thermal specfication from Intel website)

Control Max [__________] Min [__________]

Range: Frequency [1800] MHz to [800] MHz, Voltage [1248] mV to [950] mV (The MHZ are real from cpu specifications but voltage is from the speedstep app)

Voltage stepping [_____] mV.

CPU Family [6] Model [F] Stepping [D] (from cpuz)

VID VOltage range: 1.075V-1.175V

Core stepping: M0

 

The auto speedstepping is ok, changing to manual is ok also, but my cpu can be lowered From 1800>1200>800mhz with your DCPU app (the one before this release), but this time just can be lowered to 1200mhz

The cpu load is wrong on my computer configuration if i mach it with activity monitor... the one on the speedstep app is always a lot more than in activity monitor, the voltage seems is ok, im still checking.

Thanks.

 

CPU details from Intel:

sSpec Number:SLA4A

CPU Speed:1.80 GHz

PCG:

Bus Speed:800 MHz

Bus/Core Ratio:9.0

L2 Cache Size:2 MB

L2 Cache Speed:1.8 GHz

 

Package Type:Micro-FCPGA

Manufacturing Technology:65 nm

Core Stepping:M0

CPUID String:06FDh

Thermal Design Power:35W

Thermal Specification:100°C

VID Voltage Range:1.075V-1.175V

Link to comment
Share on other sites

Sep 1 16:38:19 e180054048 kernel[0]: GenericIntelCPUPowerManagement: Probing of CPU failed. If known you should fill out this form:

------------------------------------------------------------------------------

CPU Type [__________E4400 (2.0 GHZ@2.33)________________________________________]

CPU Signature [6f2] Mobile CPU [No] Latency [_____] us

Max multiplier [10] Half multiplier [No] TjMAX [_71____] C

Control Max [__________] Min [__________]

Range: Frequency [_____] MHz to [_____] MHz, Voltage [__1164___] mV to [___1324__] mV Voltage stepping [___16__] mV.

------------------------------------------------------------------------------

my 4400 has 3 Pstates: 2330/1864/1398 (233 FSB *10, ......)

hw.cpufamily: 1114597871

machdep.cpu.signature: 1778

machdep.cpu.stepping: 2

machdep.cpu.extfamily: 0

machdep.cpu.extmodel: 0

machdep.cpu.model: 15

machdep.cpu.family: 6

Link to comment
Share on other sites

Sep 2 15:13:00 localhost kernel[0]: GenericIntelCPUPowerManagement: Enhanced Intel SpeedStep Kernel Extension 1.0 © 2008 Superhai Development Co

Sep 2 15:13:00 localhost kernel[0]: GenericIntelCPUPowerManagement: Based on the Great Mercurysquads work. For internal use only. All Rights Reserved.

 

CPU Type [Core 2 Duo T9500]

CPU Signature [__________] Mobile CPU [Y] Latency [_____] us

Max multiplier [_____] Half multiplier [_____] TjMAX [_____] C

Control Max [__________] Min [__________]

Range: Frequency [ 2600 ] MHz to [800] MHz, Voltage [_____] mV to [_____] mV

Voltage stepping [_____] mV.

CPU Family [_____] Model [_____] Stepping [_____]

Link to comment
Share on other sites

The auto speedstepping is ok, changing to manual is ok also, but my cpu can be lowered From 1800>1200>800mhz with your DCPU app (the one before this release), but this time just can be lowered to 1200mhz

The cpu load is wrong on my computer configuration if i mach it with activity monitor... the one on the speedstep app is always a lot more than in activity monitor, the voltage seems is ok, im still checking.

 

Yes, I know this, and yesterday evening i released an update to correct the load, (i forgot to divide by 10 ;) so it showed 10 times higher!) I am trying to sort out with the cpu freqs, but i choose to do this by tables and intel have so many almost equal cpus ;)

Link to comment
Share on other sites

Hi, i loaded the newest .kext wirth success. (C2D 4400, EP35)

But the CPUMControl shows lock like below and it seems that no control is available.

Could you explain what the red text means ?

Must be something with my new board, i have now GA-EP35-DS3 and the ACPI of that.

Also the orig. 1.3.2 speedstep.kext didnt work anymore (using my old PSTATES).

EDIT: I have in idea: I also installed (to change board) some new kext for that board (pcwiz).

Maybe thats the problem.

I remember i has an loaded ACPIThermal.kext or similar named - now not.

And also remember that thats essential for some tools.

Must be a .kext of the ACPIPlatform i think.

I will report that later.

 

I added my old AppleACPIPlatform.kext content and the newer/changed one .

There are much less plugins in the newer one !

Can someone tell me which are needed . All of them run well with old MSI-965P i dont know why pcwiz didnt included them.

I wrote an pm to pcwiz also, he is always very helpfull.

Bild_31.jpg

Bild_33.jpg

Bild_34.jpg

Link to comment
Share on other sites

Here my details. I didn't find everything but I think it can help.

Marked in bold the ones which I'm not sure:

 

CPU Type [_CORE 2 DUO T5500_]

CPU Signature [_06F6h or 0X6F6_] Mobile CPU [_Y_] Latency [____] us

Max multiplier [_10_] Half multiplier [_____] TjMAX [_100º_] C

Control Max [__] Min [__]

Range: Frequency [_997_] MHz to [_1667_] MHz, Voltage [_0.950_] mV to [_1.150_] mV

Voltage stepping [_16_] mV.

CPU Family [_6_] Model [_15_] Stepping [_6_]

Link to comment
Share on other sites

Hi, i loaded the newest .kext wirth success. (C2D 4400, EP35)

But the CPUMControl shows lock like below and it seems that no control is available.

Could you explain what the red text means ?

 

It means, that the kext didnt load. Try the debug version and look at the output in dmesg or system.log. The correct ACPIPlatform kext has only 3 plugins. The other plugins are from old versions. But this kext does not depend on any plugins of acpiplatform.

Link to comment
Share on other sites

Hey, it's working here (specs in signature), but the app shows 100-225 MHz. Kinda strange for a T8100! This is what I got with grep:

bash-3.2# grep GenericIntelCPUPowerManagement /var/log/system.log

Sep 2 23:31:46 fidel-castros-gericom kernel[0]: GenericIntelCPUPowerManagement: Generic Intel CPU Power Management driver 1.0 © 2008 Superhai Development Co

Sep 2 23:31:46 fidel-castros-gericom kernel[0]: GenericIntelCPUPowerManagement: Based on the Great Mercurysquads work. For internal use only. All Rights Reserved.

Sep 2 23:32:53 fidel-castros-gericom kernel[0]: GenericIntelCPUPowerManagement: Generic Intel CPU Power Management driver 1.0 © 2008 Superhai Development Co

Sep 2 23:32:53 fidel-castros-gericom kernel[0]: GenericIntelCPUPowerManagement: Based on the Great Mercurysquads work. For internal use only. All Rights Reserved.

 

CPU Type [Core 2 Duo Mobile T8100]

CPU Signature [10676] Mobile CPU [Y] Latency [?] us

Max multiplier [10.5] Half multiplier [N] TjMAX [105°] C

Control Max [?] Min [?]

Range: Frequency [800] MHz to [2100] MHz, Voltage [1000] mV to [1250] mV

Voltage stepping [?] mV.

CPU Family [6] Model [7] Stepping [6]

 

Here are some experiences by me. Voltage can be quite a bit lower (925). So far Multiplier change results in immediate crash. (everything under windows)

 

Great work so far! Thanks

Link to comment
Share on other sites

It means, that the kext didnt load. Try the debug version and look at the output in dmesg or system.log. The correct ACPIPlatform kext has only 3 plugins. The other plugins are from old versions. But this kext does not depend on any plugins of acpiplatform.

OK:

GenericIntelCPUPowerManagement: Probing your system

GenericIntelCPUPowerManagement: CPU is Intel

GenericIntelCPUPowerManagement: Support for Enhanced Intel SpeedStep

GenericIntelCPUPowerManagement: Thermal CPU adjustment factor available

GenericIntelCPUPowerManagement: Thermal sensor available

GenericIntelCPUPowerManagement: Found I/O Kit CPU's at address 6f28580

GenericIntelCPUPowerManagement: Found I/O Kit CPU at address 3781880 CPU number 0 with name CPU0

GenericIntelCPUPowerManagement: Found I/O Kit CPU at address 3781700 CPU number 1 with name CPU1

GenericIntelCPUPowerManagement: Intel Core 2 Duo (Mobile)/Quad (Mobile)/Extreme/Pentium Dual-Core/Xeon (6 0Fh) (65nm)

GenericIntelCPUPowerManagement: CPU signature is 6f2

GenericIntelCPUPowerManagement: Thermal Junction Max is 100 C current temperature is 38 C

GenericIntelCPUPowerManagement: We have our device tree at 367f7c0

GenericIntelCPUPowerManagement: Found ACPI CPU's at address 3781f80

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3781b80, CPU number 0 with name CPU0

GenericIntelCPUPowerManagement: Desktop GBT

GenericIntelCPUPowerManagement: We want to take control of Speedstep from BIOS, writing 34 to port b2

GenericIntelCPUPowerManagement: Error on ACPI read of CPU0, retrying (7)

GenericIntelCPUPowerManagement: Error on ACPI read of CPU0, retrying (6)

 

...

Unable to get P-States from your ACPI CPU

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780a80, CPU number 1 with name CPU1

...

GenericIntelCPUPowerManagement: Unable to get P-States from your ACPI CPU

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780a00, CPU number 2 with name CPU2

....

GenericIntelCPUPowerManagement: Unable to get P-States from your ACPI CPU

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780980, CPU number 3 with name CPU3

....

GenericIntelCPUPowerManagement: Unable to get P-States from your ACPI CPU

GenericIntelCPUPowerManagement: Mismatch between I/O Kit CPUs (2) and ACPI CPUs (4)

GenericIntelCPUPowerManagement: We didn't find useful P-State data for your CPU, we will now probe your system.

 

a bit confusing is that the terminal says:

bash-3.2# kextload GenericIntelCPUPowerManagement.kextkextload

: GenericIntelCPUPowerManagement.kext loaded successfully

 

Which parts (.kexts) can be ACPI depended (SMSBIOS.kexts also ?!) ?

 

I also added IOREGISTRY output screensoout (CPU1 less ACPI entry, but that was ever i can think, also with the old board)

Also i remember i had always (3 diff boards 4 CPU entrys in ACPI, 2 with values (0-1, OK my C2D 2 Kernels, 2+3 not). No problems ;)

 

EDIT: Even if kext is NOT loaded - try kextloading it makes CPU run at slowest PSTATE - not controlable - half results in geekbench.

Also HW Monitor shows that MHZ drop.

Bild_48.jpg

Bild_49.jpg

Link to comment
Share on other sites

EDIT: Even if kext is NOT loaded - try kextloading it makes CPU run at slowest PSTATE - not controlable - half results in geekbench.

Also HW Monitor shows that MHZ drop.

 

Tomorrow I will update with tables for the cpus that i have received now. Should fix your issue. It is nothing wroong that ACPI has 4 and IOCPU has 2. It is because of hyperthreading. It says succesfully loaded as the kext loads successfully. But it unloads because it is not able to get the p-states from acpi. It is possible you have issues with your appleacpiplatform.kext. Try to avoid to use moded versions of acpi, system and the superclass kexts.

 

Here are some experiences by me. Voltage can be quite a bit lower (925). So far Multiplier change results in immediate crash. (everything under windows)

 

I will add it in the table that voltage. Tomorrow should I have kext with updated cpu tables.

Link to comment
Share on other sites

for the T9500 CPU above

| | "PerformanceStateArray" = (<290a0000007d00000a0000000a000000290e0000290e0000>,<280a0000187900000a0000000a000000220d0000220d0000>,<d0070000d85900000a0000000a0000001e0a00001e0a0000>,<40060000504600000a0000000a0000001b0800001b080000>,<b0040000c83200000a0000000a0000001706000017060000>,<20030000102700000a0000000a0000001388000013880000>)

Link to comment
Share on other sites

Tomorrow I will update with tables for the cpus that i have received now. Should fix your issue. It is nothing wroong that ACPI has 4 and IOCPU has 2. It is because of hyperthreading. It says succesfully loaded as the kext loads successfully. But it unloads because it is not able to get the p-states from acpi. It is possible you have issues with your appleacpiplatform.kext. Try to avoid to use moded versions of acpi, system and the superclass kexts.

I will add it in the table that voltage. Tomorrow should I have kext with updated cpu tables.

Thanks - take youre time !

Link to comment
Share on other sites

I tryed the app/kext. Looks very good; but I cannot get the 'most important' speeds (800 and 2000 mhz). With mercurysquad kext+old app I can get 800-1200-1600-2000 mhz. With your kext 1200-1400-1600-1800 mhz. I used to get 800-1200-1400-1600-1800-2000 with coolbook...

I will post the details of my cpu and debug logs...

 

great job superhai!, thanx!

Link to comment
Share on other sites

Working

Kernel StageXNU 10.5.4

CPU: Intel Core DUO T2080 1.73 GHZ

    | |     |   "PerformanceStateArray" = (<c5060000187900000a0000000a000000280d0000280d0000>,<35050000d85900000a0000000a000000220a0000220a0000>,<2b040000504600000a0000000a0000001e0800001e080000>,<20030000c83200000a0000000a0000001906000019060000>)

Link to comment
Share on other sites

anyone put their system to sleep and wake up?

 

initial release would not wake.

 

vanilla kernel

E4400

badaxe2 (D975xbxkr2)

 

"PerformanceStateArray" = (<d0070000a85b01000a0000000a000000280a0000280a0000>,<40060000b01b01000a0000000a0000002308000023080000>,<b0040000d9de00000a0000000a0000001d0600001d060000>)

Link to comment
Share on other sites

My performance arrays....

 

| | "PerformanceStateArray" = (<09070000b88800000a0000000a0000002d0a00002d0a0000>,<08070000b88800000a0000000a0000002509000025090000>,<b0040000803e00000a0000000a0000001206000012060000>,<20030000b03600000a0000000a0000000b8800000b880000>)

 

 

CPU Type [CORE2DUO T7100]

 

CPU Signature [06FDh] Mobile CPU [x] Latency [] us

Max multiplier [9] Half multiplier [_____] TjMAX [100] C (Max multiplier and Thermal specfication from Intel website)

Control Max [__________] Min [__________]

Range: Frequency [1800] MHz to [800] MHz, Voltage [1248] mV to [950] mV (The MHZ are real from cpu specifications but voltage is from the speedstep app)

Voltage stepping [_____] mV.

CPU Family [6] Model [F] Stepping [D] (from cpuz)

VID VOltage range: 1.075V-1.175V

Core stepping: M0

Link to comment
Share on other sites

New version up. 1.0.3

GREAT - first version which can handle GA-EP35 + C2D E4400 (2.0 at 2.40 GHZ)

MHZ all right found and also shown. Temp OK and shown. mV a bit low, shown but not changes in menu (in controller yes).

VID mybe a bit low at high/full speed ; 1212 mV (with 1.3.2 was 1340mV, i had own PSTAT 1324mV). But no kernel panic.

Also sometimes at 1440 MHZ it has 1075mV , sometimes 1212 ??

Current P-State running is 4, but was supposed to be 2 : my CPU (with 1.3.2( had only 3 Pstates (0-2))

perhaps there is a bug thinking it has 4 ?

I will try geekbench now.

 

 

Here some (small sized dmesg):

nd voltage of 1100 mV

GenericIntelCPUPowerManagement: P-State 3 : CTL 719 -> FID 7 & VID 19, nominal frequency of 1680, calculated of 1680 and voltage of 1025 mV

GenericIntelCPUPowerManagement: P-State 4 : CTL 613 -> FID 6 & VID 13, nominal frequency of 1440, calculated of 1440 and voltage of 950 mV

GenericIntelCPUPowerManagement: P-States already populated

GenericIntelCPUPowerManagement: Thermal Junction Max is 100 C current temperature is 39 C

GenericIntelCPUPowerManagement: We have our device tree at 367d7c0

GenericIntelCPUPowerManagement: Found ACPI CPU's at address 3780f80

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780b80, CPU number 0 with name CPU0

GenericIntelCPUPowerManagement: Desktop GBT

GenericIntelCPUPowerManagement: We want to take control of Speedstep from BIOS, writing 34 to port b2

GenericIntelCPUPowerManagement: P-States already populated

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780a80, CPU number 1 with name CPU1

GenericIntelCPUPowerManagement: P-States already populated

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780a00, CPU number 2 with name CPU2

GenericIntelCPUPowerManagement: P-States already populated

GenericIntelCPUPowerManagement: Found ACPI CPU at address 3780980, CPU number 3 with name CPU3

GenericIntelCPUPowerManagement: P-States already populated

GenericIntelCPUPowerManagement: Mismatch between I/O Kit CPUs (2) and ACPI CPUs (4)

GenericIntelCPUPowerManagement: ----------------------------------------------------------------------------------

GenericIntelCPUPowerManagement: Generic Intel CPU Power Management driver 1.0 © 2008 Superhai Development Co

GenericIntelCPUPowerManagement: Based on the Great Mercurysquads work. For internal use only. All Rights Reserved.

GenericIntelCPUPowerManagement: ----------------------------------------------------------------------------------

GenericIntelCPUPowerManagement: Current P-State running is 0

GenericIntelCPUPowerManagement: EIST Enabled and Unlocked

GenericIntelCPUPowerManagement: Clock rate: CPU 2400 MHz - Bus 960 MHz - Dec 1000 MHz

GenericIntelCPUPowerManagement: Bus clock rate 100000000 - den 1

GenericIntelCPUPowerManagement: Bus/CPU rate 10 - den 2

GenericIntelCPUPowerManagement: Bus/dec rate 1 - den 0

GenericIntelCPUPowerManagement: Timebase frequency 1000000000 hz

GenericIntelCPUPowerManagement: CPU min/max (1440 MHz - 2400 MHz)

GenericIntelCPUPowerManagement: Bus min/max (960 MHz - 960 MHz)

GenericIntelCPUPowerManagement: We have loaded completely and ready for action

GenericIntelCPUPowerManagement: No throttle, same state

GenericIntelCPUPowerManagement: Current P-State running is 4, but was supposed to be 0

GenericIntelCPUPowerManagement: No throttle, same state

GenericIntelCPUPowerManagement: Turning On Auto Throttle

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 1440

...

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Command: Inbound Auto Control

GenericIntelCPUPowerManagement: Command: Outbound Auto Control

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 2400

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 2400

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 2400

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 1440

...

bash-3.2# dmesg

: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1100

GenericIntelCPUPowerManagement: Throttling CPU 1680 -> 1440

GenericIntelCPUPowerManagement: Throttle Down, cpu load 37%, temperature 38 C

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Command: Inbound Auto Control

GenericIntelCPUPowerManagement: Command: Outbound Auto Control

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Command: Inbound Auto Control

GenericIntelCPUPowerManagement: Command: Outbound Auto Control

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Command: Inbound Auto Control

GenericIntelCPUPowerManagement: Command: Outbound Auto Control

....

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1100

GenericIntelCPUPowerManagement: Throttling CPU 2160 -> 2400

GenericIntelCPUPowerManagement: Throttle Up, cpu load 37%, temperature 40 C

GenericIntelCPUPowerManagement: Current frequency 2160

GenericIntelCPUPowerManagement: Current voltage 1212

GenericIntelCPUPowerManagement: Current frequency 2400

GenericIntelCPUPowerManagemen-t: Current voltage 1212

....

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Command: Throttle on

GenericIntelCPUPowerManagement: Throttling CPU 1440 -> 1680

GenericIntelCPUPowerManagement: Throttle Up, cpu load 43%, temperature 38 C

GenericIntelCPUPowerManagement: Current frequency 1680

GenericIntelCPUPowerManagement: Current voltage 1075

GenericIntelCPUPowerManagement: Throttling CPU 1680 -> 1920

GenericIntelCPUPowerManagement: Throttle Up, cpu load 35%, temperature 38 C

GenericIntelCPUPowerManagement: Current frequency 1680

GenericIntelCPUPowerManagement: Current voltage 1100

GenericIntelCPUPowerManagement: Current P-State running is 4, but was supposed to be 2

GenericIntelCPUPowerManagement: Throttling CPU 1440 -> 2160

GenericIntelCPUPowerManagement: Throttle Up, cpu load 29%, temperature 36 C

GenericIntelCPUPowerManagement: Current frequency 1440

GenericIntelCPUPowerManagement: Current voltage 1100

Link to comment
Share on other sites

I am posting this because I need feedback for the app and kext. Reminder that it is beta still. I have reports that it is working on proper macs as well with success.

 

And to everyone (working or non-working) can you post the result of

ioreg -lw0 | grep PerformanceStateArray

and which cpu you have. (It is not necessary to load the kext for that)

 

Download is here:

http://www.superhai.com/darwin.html

 

You don't need to copy it to /System/Library/Extensions to run it if you don't want it at startup.

Just copy it somewhere and ensure that you do a

 

sudo -s

chmod -R 755 GenericIntelCPUPowerManagement.kext

chown -R root:wheel GenericIntelCPUPowerManagement.kext

then a

 

kextload GenericIntelCPUPowerManagement.kext

 

To unload it again you can use

 

kextunload GenericIntelCPUPowerManagement.kext

 

It will complain about "Kext has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style" because some functions are required from both kpi and kernel.

 

the app can be anywhere, but in /Application is ok, no need to set any custom permission.

 

And last but least thanks to mercurysquad et al for some of the ideas and basis of this kext.

 

I need also some CPU information for you that it is not working or working properly. (Basically without or with flaweed ACPI).

Please fill in what you have or know. (Running the kext on flawed ACPI implementaions and CPU that is not in the table, will try to make same template with information)

doing a grep GenericIntelCPUPowerManagement /var/log/system.log (For those of you needing this the loading of the kext is taking some time)

CPU Type	   [__________________________________________________]
CPU Signature  [__________] Mobile CPU [_____] Latency [_____] us
Max multiplier [_____] Half multiplier [_____] TjMAX [_____] C
Control Max	[__________] Min [__________] 
Range: Frequency [_____] MHz to [_____] MHz, Voltage [_____] mV to [_____] mV
Voltage stepping [_____] mV.
CPU Family	   [_____] Model [_____] Stepping [_____]

 

Short guide here: CPU Type is just a string i. e. Core 2 Duo, CPU signature is a signature (hex value). Mobile is if it is mobile or not. Latency is time required for a cpu to do the stepping. If not known I will set it to 10 which seem common. Max multiplier is obvious I think. Common values on core are 9 or 12. If you have min value that is not 6 please provide this info separately. Half multiplier is the same as no-integer ratio. I.e. if you have half steps on the multiplier, i.e. 9.5. TjMAX is max temperature and is used for temp calc, this info is often difficult to find on desktops. Common values are from 80 to 105. Control is control sent and received from the status and control MSR's for speedstep. Is of two bytes, first is stepping and second is voltage id, (in hex). Max is usually 0x0933 or 0C33, min is like 0x0613. Rest should be obvious.

 

Also if you can provide with the result of this: (Even if it works fine for you)

 

ioreg -lw0 | grep PerformanceStateArray

 

This is free app and kext, but it is limited and reserved licence and not for any purpose or fitness. Commercial distribution is prohibited without additional licence.

 

 

vaio Intel® Core2 Duo CPU T8300 @ 2.40GHz

 

ioreg -lw0 | grep PerformanceStateArray

| | "PerformanceStateArray" = (<61090000b88800000a0000000a000000290d0000290d0000>,<60090000b88800000a0000000a000000220c0000220c0000>,<d0070000606d00000a0000000a0000001f0a00001f0a0000>,<40060000f05500000a0000000a0000001b0800001b080000>,<b0040000803e00000a0000000a0000001706000017060000>)

Link to comment
Share on other sites

GREAT - first version which can handle GA-EP35 + C2D E4400 (2.0 at 2.40 GHZ)

MHZ all right found and also shown. Temp OK and shown. mV a bit low, shown but not changes in menu (in controller yes).

VID mybe a bit low at high/full speed ; 1212 mV (with 1.3.2 was 1340mV, i had own PSTAT 1324mV). But no kernel panic.

Also sometimes at 1440 MHZ it has 1075mV , sometimes 1212 ??

Current P-State running is 4, but was supposed to be 2 : my CPU (with 1.3.2( had only 3 Pstates (0-2))

perhaps there is a bug thinking it has 4

 

Thanks for feedback. You seem to have the same problem as I experience with my gigabyte desktop board. BIOS is still controlling voltage and frequencies somewhat, and I don't know yet how to disable that completely (you might be able to see it in the app, if you disable autothrottling, and try running with load and see that frequency changes). The new version is different as it reads the voltage and frequencies directly from msr, and not the one assuming based on pstate.

 

 

 

hi

 

heres my output

 

Pastebin

 

i think its acpi problem heres a screenshot too

 

hm, this makes no sense at all. do you have other problems with your computer?

Link to comment
Share on other sites

Yes, SUPERHAI , i also had seen that the Gigabyte board steps a bit MHZ(VID)- even without any speedstep loaded. (I have no such autocpustepping in bios on - onyl the speedstep). My P965 MSI had not such "own life".

I had running Geekbench and all other Apps with no problems , no kernel panic - ALL OK :hysterical:

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...