Piker-Alpha / ssdtPRGen.sh

Script to generate a SSDT for Power Management
713 stars 156 forks source link

X86PlatformShim::start - Failed to send stepper​ with i7-3770 #65

Closed joshuaseltzer closed 9 years ago

joshuaseltzer commented 10 years ago

Hey there Piker,

Having a problem with your script on the following machine: GA-Z77X-UD5H Core i7-3770 (non-k version) Nvidia GTX 670 (IGPU is disabled) 32GB RAM Yosemite 10.10 Final Latest Clover with iMac13,2 SMBIOS.

I've tried multiple ways of running your script and cannot find a "perfect" solution. In some cases, I will reboot and my CPU will be stuck running at 8x speed which is very slow. The best solution I found was running the following command: ./ssdtPRGen.sh -w 2 -x 1

In Clover, I have DropOem set to YES under SSDT and I have any P-state and C-state generation turned off. In my kernel arguments, I added -xcpm.

With the SSDT generated from that command, I see in the console that my P-states seem to be reading correctly since I see a couple of these: X86PlatformShim::sendPStates – Success!

However, at the end, I'm seeing the following: X86PlatformShim::start - Failed to send stepper​

When I get into OSX, I notice that my CPU seems to be throttling correctly. It will idle at 16x, and go the whole way up to 39x. It looks like it will also throttle at 25x, 34x, 35x, 36x, 37x, and 38x.

Is this "failed to send stepper" something I need to worry about?

Thanks!

Piker-Alpha commented 10 years ago

Yes. Absolutely. Enabling XCPM does require you to drop the -w flag or use a different value. See what works for your setup. Not using XCPM is another option.

joshuaseltzer commented 10 years ago

Not using XCPM results in a 8x speed again. What are some different options I can try?

Should I only use "-x 1" if I use the -xcpm boot argument? Are you saying I should drop the -xcpm boot argument or use "-x 0"?

Piker-Alpha commented 10 years ago

You can use: ./ssdtPRGen.sh -x 1 -w [0/1/2/3] and see what works for your setup.

About -x 1 Yes.

joshuaseltzer commented 10 years ago

Ok, I will try that later today and report back with my results.

How about the -xcpm boot argument? Should I leave that enabled or disabled?

Piker-Alpha commented 10 years ago

Yes. Keep -xcpm as boot argument. Figure out what -w value to use.

joshuaseltzer commented 10 years ago

I tried all 4 combinations, and none worked correctly. I tried: ./ssdtPRGen.sh -x 1 -w 0 ./ssdtPRGen.sh -x 1 -w 1 ./ssdtPRGen.sh -x 1 -w 3

And they are even worse. With those I see these in the console: 10/23/14 4:07:43.000 PM kernel[0]: X86PlatformShim::sendPStates - pmCPUControl (SETPSTATETABLE) returned 0x13 10/23/14 4:07:43.000 PM kernel[0]: X86PlatformShim::start - Failed to send PStates 10/23/14 4:07:43.000 PM kernel[0]: X86PlatformShim::start - Failed to send stepper

With "-w 2" I see this: 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:09:46.000 PM kernel[0]: X86PlatformShim::start - Failed to send stepper

What should I try next?

EDIT: I used this command: ./ssdtPRGen.sh -w 3 -x 0

And I turned off -xcpm boot argument. Now I see this in the console: 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 10/23/14 4:18:34.000 PM kernel[0]: X86PlatformShim::sendStepper - Done!

But now I'm only changing between 16x and 39x according to HWMonitor. Any ideas?

EDIT 2: Nevermind, I think it is working. Is there a way I can verify? I went into IOReg and noticed that there are 8 C-states and 8 P-states, and HWMonitor shows it moving between 16x, 25x, 34x-39x.

EDIT 3: Every once in a while, it will just throttle up to 39x even on idle, and then eventually throttle back down. Something doesn't seem right.

Piker-Alpha commented 10 years ago

Power management with Ivy Bridge processors has traditionally been a pain in the lower back. You had to use: ./ssdtPRGen.sh -w 2 [-x 0] before Yosemite, which added a new layer of complexity. As you've figured out now. So in short. Do not use XCPM [-x 1 / -xcpm] with Yosemite plus Ivy Bridge processors. I'm also glad that ssdtPRGen.sh is still working. Thanks for this confirmation!

This: "X86PlatformShim::sendStepper - Done!" tells me that power Management is functioning now. You can check that by compiling: https://github.com/Piker-Alpha/AppleIntelInfo

joshuaseltzer commented 10 years ago

When I do a build of that Kext, where does it output?

EDIT: I found a different copy of it online. Still would like to know where that build is outputting the kext...

Here's what I saw in the console 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: v1.0 Copyright © 2012-2014 Pike R. Alpha. All rights reserved 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: logMSRs............................: 1 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: logIGPU............................: 0 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: logIntelRegs.......................: 1 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: logCStates.........................: 1 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: logIPGStyle........................: 1 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: InitialTSC.........................: 0x4f101be8e1a 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MWAIT C-States.....................: 4384 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_CORE_THREAD_COUNT......(0x35) : 0x40008 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PLATFORM_INFO..........(0xCE) : 0x81010F0012200 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PMG_CST_CONFIG_CONTROL.(0xE2) : 0x403 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PMG_IO_CAPTURE_BASE....(0xE4) : 0x10414 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_MPERF.................(0xE7) : 0xBE6A13EA33 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_APERF.................(0xE8) : 0xA63E95CE3F 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_FLEX_RATIO.............(0x194) : 0x80000 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_IA32_PERF_STATUS.......(0x198) : 0x261C00002700 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_IA32_PERF_CONTROL......(0x199) : 0x2700 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_CLOCK_MODULATION......(0x19A) : 0x0 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_THERM_STATUS..........(0x19C) : 0x88470000 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_MISC_ENABLES..........(0x1A0) : 0x850089 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400001 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x27272727 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x4 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_POWER_CTL..............(0x1FC) : 0x14005F 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_RAPL_POWER_UNIT........(0x606) : 0xA1003 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKG_POWER_LIMIT........(0x610) : 0xA58000009F40 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKG_ENERGY_STATUS......(0x611) : 0x4FAF18F9 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKG_POWER_INFO.........(0x614) : 0x1E00268 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x1814149400000960 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PP0_POWER_LIMIT........(0x638) : 0xA580 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PP0_ENERGY_STATUS......(0x639) : 0x2871AE50 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PP0_POLICY.............(0x63a) : 0x0 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x22 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x1E0000000000000 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x1E0000000000000 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKGC3_IRTL.............(0x60a) : 0x883B 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKGC6_IRTL.............(0x60b) : 0x8850 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKGC7_IRTL.............(0x60c) : 0x8857 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x15C46F79C2E 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x1EBE921EB82 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: IA32_TSC_DEADLINE..........(0x6E0) : 0x4F10307BE04 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: CPU Low Frequency Mode.............: 1600 MHz 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: CPU Maximum non-Turbo Frequency....: 3400 MHz 11/3/14 8:56:07.000 PM kernel[0]: AICPUPMI: CPU Maximum Turbo Frequency........: 3900 MHz 11/3/14 8:56:08.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 30 39 ] 11/3/14 8:56:08.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 2 3 4 ] 11/3/14 8:56:08.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 2 3 6 ] 11/3/14 8:56:08.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 30 39 ] 11/3/14 8:56:08.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 1 2 3 4 6 7 ] 11/3/14 8:56:08.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 5 6 7 ] 11/3/14 8:56:09.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 26 30 39 ] 11/3/14 8:56:09.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 6 7 ] 11/3/14 8:56:09.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 6 7 ] 11/3/14 8:56:09.000 PM kernel[0]: AICPUPMI: CPU P-States [ 16 19 26 30 36 (39) ] 11/3/14 8:56:09.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 7 ] 11/3/14 8:56:10.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 26 30 36 39 ] 11/3/14 8:56:11.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 26 30 36 38 39 ] 11/3/14 8:56:12.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 26 29 30 36 38 39 ] 11/3/14 8:56:13.000 PM kernel[0]: AICPUPMI: CPU P-States [ 16 19 24 26 29 30 36 37 38 (39) ] 11/3/14 8:56:14.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 25 26 29 30 36 37 38 39 ] 11/3/14 8:56:15.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 25 26 29 30 32 36 37 38 39 ] 11/3/14 8:56:15.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 25 26 29 30 32 33 36 37 38 39 ] 11/3/14 8:56:17.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 25 26 28 29 30 32 33 36 37 38 39 ] 11/3/14 8:56:17.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 24 25 26 27 28 29 30 32 33 36 37 38 39 ] 11/3/14 8:56:19.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 22 24 25 26 27 28 29 30 32 33 36 37 38 39 ] 11/3/14 8:56:20.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 21 22 24 25 26 27 28 29 30 32 33 36 37 38 39 ] 11/3/14 8:56:20.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 21 22 24 25 26 27 28 29 30 31 32 33 36 37 38 39 ] 11/3/14 8:56:22.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 20 21 22 24 25 26 27 28 29 30 31 32 33 36 37 38 39 ] 11/3/14 8:56:23.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 20 21 22 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 ] 11/3/14 8:56:26.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 ] 11/3/14 8:56:31.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 ] 11/3/14 8:57:20.000 PM kernel[0]: AICPUPMI: CPU P-States [ 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 (39) ] 11/3/14 8:58:54.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ]

Look correct?

Piker-Alpha commented 10 years ago

The kext can be found at ~/Library/Developer/Xcode/DerivedData/AppleIntelInfo-*/Build/Products/[Debug or Release]

Please note that you need to fix the ownership (root:wheel) and permissions (755) of all files of the kext, and for that you use argument -R (recursive).

irex00 commented 10 years ago

Hi i have the same problem with Corba on this system: P8z77 V LK patched bios v1001 Core i7-3770 ( using iGPU ) 12GB RAM Yosemite 10.10 Final Using tonymacx tools and iMac13,2 SMBIOS.

i took your advise ( -w 2) to generate the ssdt. it turned out to be fine, reboot and everything went well. i checked console:

2014-11-07 12:12:53.000 AM kernel[0]: IOPPF: AppleIntelCPUPowerManagement mode 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-07 12:12:53.000 AM kernel[0]: X86PlatformShim::sendStepper - Done!

however, my cpu run at x8 speed. base on HWmonitor and DPCIManager screen shot 2014-11-07 at 12 27 05 am

Piker-Alpha commented 10 years ago

CoBrA2168 used: ./ssdtPRGen.sh -w 3 -x 0 Have you tried that?

irex00 commented 10 years ago

Thanks for your reply But after a night! Now my machine didn't want to boot to Yosemite! Apparently There is a stop at secure image from sleep image( Which I remove it sleep image rite after) and "waiting for root device" -I still working on this issue

Last night, before I went to bed, I ran your script with -w 3 ! It turned out that everything worked fine , and I was able to get some steps out of it (16,35,36,37). No more x8 speed! I wanted to try to make new ssdt but gotta get my system to boot to OS first

irex00 commented 10 years ago

i rolledback to maverick os and will test it with -w 3 -x 0! will report back soon

irex01 commented 10 years ago

i make it back to yosemite with clover and iMac 13,2 ran y./ssdtPRGen.sh -w 3 -x 0 and test out new ssdt. i saw 2014-11-08 11:30:58.000 PM kernel[0]: IOPPF: AppleIntelCPUPowerManagement mode 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendPStates - Success! 2014-11-08 11:30:58.000 PM kernel[0]: X86PlatformShim::sendStepper - Done!

however i only see two state in P-states (DPCIManager)

2014-11-08, 11:35:25 PM, P States: 16, 37 2014-11-08, 11:35:18 PM, Current State: 37 2014-11-08, 11:35:18 PM, P States: 16, 37 2014-11-08, 11:35:10 PM, Current State: 37 2014-11-08, 11:35:10 PM, P States: 16, 37 2014-11-08, 11:35:02 PM, Current State: 37 2014-11-08, 11:35:02 PM, P States: 16, 37 2014-11-08, 11:34:55 PM, Current State: 16

Piker-Alpha commented 10 years ago

Using the iMac SMBIOS will usually result in a reduced number of P-States. Even on a real Mac. It also depends on other factors, like whether or not you are using the right (UEFI) BIOS settings – think base frequency and turbo ratios – and if you OC the processor. The fact that you only see 37 suggest that the turbo frequencies are not set properly.

irex00 commented 10 years ago

I don't OC the processor, I have normal profile on Bios setting! I guess I need to look more into bios setting!

joshuaseltzer commented 10 years ago

Piker, here's the results from the kext: 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: v1.0 Copyright © 2012-2014 Pike R. Alpha. All rights reserved 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: logMSRs............................: 1 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: logIGPU............................: 0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: logIntelRegs.......................: 1 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: logCStates.........................: 1 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: logIPGStyle........................: 1 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: InitialTSC.........................: 0xe1211ce3e 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MWAIT C-States.....................: 4384 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_CORE_THREAD_COUNT......(0x35) : 0x40008 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PLATFORM_INFO..........(0xCE) : 0x81010F0012200 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PMG_CST_CONFIG_CONTROL.(0xE2) : 0x1E000403 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PMG_IO_CAPTURE_BASE....(0xE4) : 0x10414 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_MPERF.................(0xE7) : 0xE11A1732F 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_APERF.................(0xE8) : 0xD6AFFC37B 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_FLEX_RATIO.............(0x194) : 0x80000 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_IA32_PERF_STATUS.......(0x198) : 0x20D300002200 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_IA32_PERF_CONTROL......(0x199) : 0x2200 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_CLOCK_MODULATION......(0x19A) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_THERM_STATUS..........(0x19C) : 0x88470000 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_MISC_ENABLES..........(0x1A0) : 0x850089 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400000 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x27272727 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_POWER_CTL..............(0x1FC) : 0x14005F 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_RAPL_POWER_UNIT........(0x606) : 0xA1003 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_POWER_LIMIT........(0x610) : 0xA58000009F40 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_ENERGY_STATUS......(0x611) : 0x1502D28 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_POWER_INFO.........(0x614) : 0x1E00268 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x1814149400000960 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PP0_POWER_LIMIT........(0x638) : 0xA580 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PP0_ENERGY_STATUS......(0x639) : 0xF35BCF 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PP0_POLICY.............(0x63a) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x22 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x1E0000000000000 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x1E0000000000000 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKGC3_IRTL.............(0x60a) : 0x883B 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKGC6_IRTL.............(0x60b) : 0x8850 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKGC7_IRTL.............(0x60c) : 0x8857 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: IA32_TSC_DEADLINE..........(0x6E0) : 0xE1413799C 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU Low Frequency Mode.............: 1600 MHz 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU Maximum non-Turbo Frequency....: 3400 MHz 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU Maximum Turbo Frequency........: 3900 MHz 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 34 37 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 2 6 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 2 4 6 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 31 34 37 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 2 4 5 6 7 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 2 3 4 5 6 7 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU P-States [ 16 31 33 (34) 37 ] 11/9/14 2:14:55.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 2 3 4 5 6 7 ] 11/9/14 2:14:56.000 PM kernel[0]: AICPUPMI: CPU P-States [ 16 31 32 33 34 37 (39) ] 11/9/14 2:14:56.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 0 2 3 4 5 6 7 ] 11/9/14 2:14:56.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 1 2 3 4 5 6 7 ] 11/9/14 2:14:57.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 31 32 33 34 37 38 39 ] 11/9/14 2:14:57.000 PM kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 6 7 ] 11/9/14 2:14:59.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 31 32 33 34 36 37 38 39 ] 11/9/14 2:14:59.000 PM kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 7 ] 11/9/14 2:15:00.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:02.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 25 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:09.000 PM kernel[0]: AICPUPMI: CPU P-States [ 16 25 28 31 32 33 34 35 36 37 38 (39) ] 11/9/14 2:15:09.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 23 25 28 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:10.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 20 23 25 28 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:11.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 20 23 25 28 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:12.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 20 23 25 27 28 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:12.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 20 22 23 25 27 28 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:13.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 20 21 22 23 25 27 28 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:14.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 18 20 21 22 23 25 27 28 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:14.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 18 19 20 21 22 23 25 27 28 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:16.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 18 19 20 21 22 23 25 27 28 29 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:25.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 18 19 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:15:26.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 17 18 19 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] 11/9/14 2:16:00.000 PM kernel[0]: AICPUPMI: CPU P-States [ (16) 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ]

Are these results correct?

Piker-Alpha commented 10 years ago

Look at this line: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x27272727 All four turbo ratio's are set to 0x27 (3.9 GHz) and that is not what Apple is doing/expecting. If you want power management to work, then follow their rules.

joshuaseltzer commented 10 years ago

Hmm my BIOS CPU settings are all stock. Do you know what I'd need to change to get that behavior?

Does everything else look good?

Piker-Alpha commented 10 years ago

I don't know exactly where to change it, but I think that it is called:: "Advanced CPU Core Features". There you make sure that: "Intel(R) Turbo Boost Technology" is enabled and that "Turbo Ratio (1-Core Active~4-Core Active)" is set to:

39 --> 1 Core Active 38 --> 2 Cores Active 36 --> 3 Cores Active 35 --> 4 cores Active

In short. Don't use the auto settings.

joshuaseltzer commented 10 years ago

I will try these settings today or tomorrow and report back. Thanks.

joshuaseltzer commented 10 years ago

Piker, don't I want to set it to this?

39 --> 1 Core Active 39 --> 2 Cores Active 37 --> 3 Cores Active 36 --> 4 cores Active

I'm running the Intel i7-3770. According to these specs: http://www.tonymacx86.com/attachments/general-hardware-discussion/45062d1359641077-core-i7-3770k-slower-than-i7-3770-intel-core-spec-update.png

You gave me the i7-3770S numbers. Why would I use those?

EDIT: I put in the numbers above and this is what I see now: Nov 11 19:46:16 localhost kernel[0]: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x25262727

Piker-Alpha commented 9 years ago

Sorry. Must have been tired. Should have been:

39 --> 1 Core Active 38 --> 2 Cores Active 37 --> 3 Cores Active 36 --> 4 Cores Active

Note that I use 38 instead of 39 for the 3 Cores setting, because the latter is a (mild) OC setting.

joshuaseltzer commented 9 years ago

With those settings in the BIOS, would you say that my speedstep is working then?

Piker-Alpha commented 9 years ago

If you see something like this in cat /var/log.system.log or sudo dmesg:

IOPPF: AppleIntelCPUPowerManagement mode X86PlatformShim::sendPStates - Success! (n times) X86PlatformShim::sendStepper - Done!

Then yes.

joshuaseltzer commented 9 years ago

I do. Thanks for all of your help.

One last question before I close this ticket. Do you recommend any other settings in my BIOS? All of my CPU settings are set to "Auto" except the ones you told me to change.

Piker-Alpha commented 9 years ago

If everything is working for you then no. I would however keep the settings as a (OC) profile in the (UEFI) BIOS so that you can always restore the working settings.

joshuaseltzer commented 9 years ago

Great, that's a good idea. Thanks for all of your help Piker. I will close this ticket now.