Jump to content

[GUIDE] HWP(Intel Speed Shift) enable with full power management


  • Please log in to reply
139 replies to this topic

#121
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

@captain-j, thanks for sharing. I'm running a 6700K with the same overclock as you (4.5 Ghz), so I've tried your injector (1HWPEnablerPerfBias15-EPP192.kext with modified board-id). I've followed the same steps, but I'm still having trouble getting my CPU to clock lower when idling. It doesn't seem to like going lower than 2,68 Ghz.

 

3YPJyIk.png

 

I did notice in ioRegistryExplorer that my CPUPStates in X86PlatformPlugin all start with 0 which seems to differ with what I'm seeing here. But I don't know how much this matters, since we're using HWP?

 

j1DwTAk.png

 

When I stop injecting an SSDT I seem to get correct frequencies, from 0.8 Ghz all the way up to 4.5 Ghz. But X86PlatformPlugin of course won't load that way, which isn't desirable. What am I missing here?



#122
captain-j

captain-j

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

@tjrt I have observed similar behaviour. When I activate HWP in Windows 10 (using a utility called ThrottleStop) it also drops to 800Mhz during idle. macOS does the same in the way you describe (only when the SSDT for 'plugin-type' is not used). As you mention, X86PlatformPlugin doesn't load in that case but it seems the CPU is running more efficiently.

 

Honestly, I don't know why. It would be interesting to know how much power is consumed on average: without HWP, with HWP, and with HWP & X86PlatformPlugin.

 

My P States definitely show up numbered 0 - 38, and my CPU does drop to as low as 1.0Ghz (but never less, and certainly not as often as I am expecting). Are you injecting any other SSDT for the CPU? How have you made your 4.5Ghz overclock in BIOS? Have you disabled EIST in BIOS?



#123
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

@captain-j I agree, it's puzzling! Whatever I try, I can't seem to get my cores to drop below that 2,68 Ghz. 

 

I have experimented with various options: 

  • Enabling/disabling EIST doesn't seem to alter my frequencies.
  • I overclock by upping the turbo frequencies on all cores to 4.5 Ghz. Disabling the overclock doesn't seem to alter the frequencies when idling. Output looks about the same.
  • I alternately ran that SSDT for plugin-type from OP and a SSDT generated with the ssdtPRGen script by Piker-Alpha. Frequencies again seem to be the same with whatever SSDT I use.

 

Good suggestion about measuring power consumption. I have a wattmeter lying around, so I connected it to my system and took it for a spin. I don't know how accurate it is absolutely speaking, but at least I can compare different settings. Here are the results after I let my system idling for a couple of minutes:

  • Using Injector with HWP and SSDT for plugin-type: ~80 watt
  • Using injector with HWP and SSDT generated with ssdtPRGen: ~80 watt
  • No SSDT (and no X86PlatformPlugin but seemingly correct frequencies): ~77 watt

Using no SSDT seems to be a bit more efficient, but a lot less than I would've expected. Maybe the upped efficiency of the CPU is largely negated by the loss of other power saving functions provided by the X86PlatformPlugin that isn't loading. It's hard to say.

 

Also interesting: I additionaly have Windows 10 running on my system, so I checked power consumption over there. I measured ~54 watt after idling for a couple of minutes. A pretty big difference.



#124
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts

Check if you can Enable HWP via Bios 

 

Attached Files



#125
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

 @truesoldier Tried enabling it, but it didn't make a discernible difference. 

 

lawNsXj.png



#126
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts

Try this plist

 

Attached Files



#127
arun94

arun94

    InsanelyMac Protégé

  • Members
  • Pip
  • 17 posts
  • Gender:Male
  • Location:India

 @truesoldier Tried enabling it, but it didn't make a discernible difference. 

 

lawNsXj.png

did you try rebuilding kernel cache after editing frequency vectors ?



#128
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Thanks @truesoldier, tried it out. Average frequencies in idle are lower than before. Minimum frequency got to 2Ghz.

 

zBTh1tS.png


did you try rebuilding kernel cache after editing frequency vectors ?

 

Yep, made sure to rebuild it with every change.



#129
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts

please upload picture from your CPU Bios Settings.



#130
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Hm, while using Pike's AppleIntelInfo I noticed EIST is always enabled on my system, whether CPU EIST is set on disable/enable/automatic in BIOS. I don't know how important it is for EIST to be disabled or enabled for proper HWP, but perhaps this is what's causing these high frequencies. 

AppleIntelInfo.kext v2.5 Copyright © 2012-2017 Pike R. Alpha. All rights reserved.

Settings:
------------------------------------------
logMSRs..................................: 1
logIGPU..................................: 0
logCStates...............................: 1
logIPGStyle..............................: 1
InitialTSC...............................: 0x1d13fe78c4c0 (799 MHz)
MWAIT C-States...........................: 1319200

Processor Brandstring....................: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz

Processor Signature..................... : 0x506E3
------------------------------------------
 - Family............................... : 6
 - Stepping............................. : 3
 - Model................................ : 0x5E (94)

Model Specific Registers (MSRs)
------------------------------------------

MSR_CORE_THREAD_COUNT............(0x35)  : 0xFFFFFF804AAF0B00
------------------------------------------
 - Core Count........................... : 4
 - Thread Count......................... : 8

MSR_PLATFORM_INFO................(0xCE)  : 0x80838F1012800
------------------------------------------
 - Maximum Non-Turbo Ratio.............. : 0x28 (4000 MHz)
 - Ratio Limit for Turbo Mode........... : 1 (programmable)
 - TDP Limit for Turbo Mode............. : 1 (programmable)
 - Low Power Mode Support............... : 0 (LMP not supported)
 - Number of ConfigTDP Levels........... : 0 (only base TDP level available)
 - Maximum Efficiency Ratio............. : 8
 - Minimum Operating Ratio.............. : 8

MSR_PMG_CST_CONFIG_CONTROL.......(0xE2)  : 0x7E000008
------------------------------------------
 - I/O MWAIT Redirection Enable......... : 0 (not enabled)
 - CFG Lock............................. : 0 (MSR not locked)
 - C3 State Auto Demotion............... : 1 (enabled)
 - C1 State Auto Demotion............... : 1 (enabled)
 - C3 State Undemotion.................. : 1 (enabled)
 - C1 State Undemotion.................. : 1 (enabled)
 - Package C-State Auto Demotion........ : 1 (enabled)
 - Package C-State Undemotion........... : 1 (enabled)

MSR_PMG_IO_CAPTURE_BASE..........(0xE4)  : 0x31814
------------------------------------------
 - LVL_2 Base Address................... : 0x1814
 - C-state Range........................ : 3 (C-States not included, I/O MWAIT redirection not enabled)

IA32_MPERF.......................(0xE7)  : 0x122F11C6E9
IA32_APERF.......................(0xE8)  : 0x142890242E

MSR_FLEX_RATIO...................(0x194) : 0xE0000
------------------------------------------

MSR_IA32_PERF_STATUS.............(0x198) : 0x2BD000002D00
------------------------------------------
 - Current Performance State Value...... : 0x2D00 (4500 MHz)

MSR_IA32_PERF_CONTROL............(0x199) : 0xA00
------------------------------------------
 - Target performance State Value....... : 0xA00 (1000 MHz)
 - Intel Dynamic Acceleration........... : 0 (IDA engaged)

IA32_CLOCK_MODULATION............(0x19A) : 0x0

IA32_THERM_INTERRUPT.............(0x19B) : 0x0

IA32_THERM_STATUS................(0x19C) : 0x883B0800
------------------------------------------
 - Thermal Status....................... : 0
 - Thermal Log.......................... : 0
 - PROCHOT # or FORCEPR# event.......... : 0
 - PROCHOT # or FORCEPR# log............ : 0
 - Critical Temperature Status.......... : 0
 - Critical Temperature log............. : 0
 - Thermal Threshold #1 Status.......... : 0
 - Thermal Threshold #1 log............. : 0
 - Thermal Threshold #2 Status.......... : 0
 - Thermal Threshold #2 log............. : 0
 - Power Limitation Status.............. : 0
 - Power Limitation log................. : 1
 - Current Limit Status................. : 0
 - Current Limit log.................... : 0
 - Cross Domain Limit Status............ : 0
 - Cross Domain Limit log............... : 0
 - Digital Readout...................... : 59
 - Resolution in Degrees Celsius........ : 1
 - Reading Valid........................ : 1 (valid)

MSR_THERM2_CTL...................(0x19D) : 0x0

IA32_MISC_ENABLES................(0x1A0) : 0x850089
------------------------------------------
 - Fast-Strings......................... : 1 (enabled)
 - FOPCODE compatibility mode Enable.... : 0
 - Automatic Thermal Control Circuit.... : 1 (enabled)
 - Split-lock Disable................... : 0
 - Performance Monitoring............... : 1 (available)
 - Bus Lock On Cache Line Splits Disable : 0
 - Hardware prefetch Disable............ : 0
 - Processor Event Based Sampling....... : 0 (PEBS supported)
 - GV1/2 legacy Enable.................. : 0
 - Enhanced Intel SpeedStep Technology.. : 1 (enabled)
 - MONITOR FSM.......................... : 1 (MONITOR/MWAIT supported)
 - Adjacent sector prefetch Disable..... : 0
 - CFG Lock............................. : 0 (MSR not locked)
 - xTPR Message Disable................. : 1 (disabled)

MSR_TEMPERATURE_TARGET...........(0x1A2) : 0x641400
------------------------------------------
 - Turbo Attenuation Units.............. : 0 
 - Temperature Target................... : 100
 - TCC Activation Offset................ : 0

MSR_MISC_PWR_MGMT................(0x1AA) : 0x18C1
------------------------------------------
 - EIST Hardware Coordination........... : 1 (hardware coordination disabled)
 - Energy/Performance Bias support...... : 1
 - Energy/Performance Bias.............. : 0 (disabled/MSR not visible to software)
 - Thermal Interrupt Coordination Enable : 0 (thermal interrupt not rerouted)

MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x2D2D2D2D
------------------------------------------
 - Maximum Ratio Limit for C01.......... : 2D (4500 MHz) 
 - Maximum Ratio Limit for C02.......... : 2D (4500 MHz) 
 - Maximum Ratio Limit for C03.......... : 2D (4500 MHz) 
 - Maximum Ratio Limit for C04.......... : 2D (4500 MHz) 

IA32_ENERGY_PERF_BIAS............(0x1B0) : 0x5
------------------------------------------
 - Power Policy Preference...............: 5 (balanced performance and energy saving)

MSR_POWER_CTL....................(0x1FC) : 0x3C005F
------------------------------------------
 - Bi-Directional Processor Hot..........: 1 (enabled)
 - C1E Enable............................: 1 (enabled)

MSR_RAPL_POWER_UNIT..............(0x606) : 0xA0E03
------------------------------------------
 - Power Units.......................... : 3 (1/8 Watt)
 - Energy Status Units.................. : 14 (61 micro-Joules)
 - Time Units .......................... : 10 (976.6 micro-Seconds)

MSR_PKG_POWER_LIMIT..............(0x610) : 0x42FFD0001AEA82
------------------------------------------
 - Package Power Limit #1............... : 3408 Watt
 - Enable Power Limit #1................ : 1 (enabled)
 - Package Clamping Limitation #1....... : 0 (disabled)
 - Time Window for Power Limit #1....... : 13 (20480 milli-Seconds)
 - Package Power Limit #2............... : 4090 Watt
 - Enable Power Limit #2................ : 1 (enabled)
 - Package Clamping Limitation #2....... : 0 (disabled)
 - Time Window for Power Limit #2....... : 33 (10 milli-Seconds)
 - Lock................................. : 0 (MSR not locked)

MSR_PKG_ENERGY_STATUS............(0x611) : 0x1F719D8
------------------------------------------
 - Total Energy Consumed................ : 2012 Joules (Watt = Joules / seconds)

MSR_CONFIG_TDP_NOMINAL...........(0x648) : 0x28
MSR_CONFIG_TDP_LEVEL1............(0x649) : 0x0
MSR_CONFIG_TDP_LEVEL2............(0x64a) : 0x0
MSR_CONFIG_TDP_CONTROL...........(0x64b) : 0x80000000
MSR_TURBO_ACTIVATION_RATIO.......(0x64c) : 0x0
MSR_PKGC3_IRTL...................(0x60a) : 0x884E
MSR_PKGC6_IRTL...................(0x60b) : 0x8876
MSR_PKGC7_IRTL...................(0x60c) : 0x8894
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x3CAE95AC0
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0xF2840088
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x3CAE95AC0
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0xF2840088
MSR_PKG_C6_RESIDENCY.............(0x3f9) : 0x0
MSR_PKG_C7_RESIDENCY.............(0x3fa) : 0x0
MSR_PKG_C8_RESIDENCY............(0x630) : 0x0
MSR_PKG_C9_RESIDENCY............(0x631) : 0x0
MSR_PKG_C10_RESIDENCY...........(0x632) : 0x0
MSR_PKG_C8_LATENCY..............(0x633) : 0x0
MSR_PKG_C9_LATENCY..............(0x634) : 0x0
MSR_PKG_C10_LATENCY.............(0x635) : 0x0

MSR_PLATFORM_ENERGY_COUNTER......(0x64D) : 0x0 (not supported by hardware/BIOS)

MSR_PPERF........................(0x64E) : 0x13667176C9
------------------------------------------
 - Hardware workload scalability........ : 83323090633

MSR_CORE_PERF_LIMIT_REASONS......(0x64F) : 0x4000000
------------------------------------------
 - PROCHOT Status....................... : 0
 - Thermal Status....................... : 0
 - Residency State Regulation Status.... : 0
 - Running Average Thermal Limit Status. : 0
 - VR Therm Alert Status................ : 0
 - VR Therm Design Current Status....... : 0
 - Other Status......................... : 0
 - Package/Platform-Level #1 Power Limit : 0
 - Package/Platform-Level #2 Power Limit : 0
 - Max Turbo Limit Status............... : 0
 - Turbo Transition Attenuation Status.. : 0
 - PROCHOT Log.......................... : 0
 - Thermal Log.......................... : 0
 - Residency State Regulation Log....... : 0
 - Running Average Thermal Limit Log.... : 0
 - VR Therm Alert Log................... : 0
 - VR Thermal Design Current Log........ : 0
 - Other Status Log..................... : 0
 - Package/Platform-Level #1 Power Limit : 1 (status bit has asserted)
 - Package/Platform-Level #2 Power Limit : 0
 - Max Turbo Limit Log.................. : 0
 - Turbo Transition Attenuation Log..... : 0

IA32_TSC_DEADLINE................(0x6E0) : 0x1D140484DF0A
MSR_PPERF........................(0x63E) : 0x1 (38)

IA32_PM_ENABLE...................(0x770) : 0x1 (HWP Supported and Enabled)

IA32_HWP_CAPABILITIES............(0x771) : 0x110282D
-----------------------------------------
 - Highest Performance.................. : 45
 - Guaranteed Performance............... : 40
 - Most Efficient Performance........... : 16
 - Lowest Performance................... : 1

IA32_HWP_INTERRUPT...............(0x773) : 0x0
------------------------------------------
 - Guaranteed Performance Change........ : 0 (Interrupt generation disabled)
 - Excursion Minimum.................... : 0 (Interrupt generation disabled)

IA32_HWP_REQUEST................(0x774) : 0x202D2D08
-----------------------------------------
 - Minimum Performance................. : 8
 - Maximum Performance................. : 45
 - Desired Performance................. : 45
 - Energy Efficient Performance........ : 32
 - Activity Window..................... : 0, 0
 - Package Control..................... : 0

IA32_HWP_STATUS..................(0x777) : 0x0
-----------------------------------------
 - Guaranteed Performance Change....... : 0 (has not occured)
 - Excursion To Minimum................ : 0 (has not occured)

CPU Ratio Info:
------------------------------------------
Base Clock Frequency (BLCK)............. : 100 MHz
Maximum Efficiency Ratio/Frequency.......:  8 ( 800 MHz)
Maximum non-Turbo Ratio/Frequency........: 40 (4000 MHz)
Maximum Turbo Ratio/Frequency............: 45 (4500 MHz)
P-State ratio * 100 = Frequency in MHz
------------------------------------------
CPU P-States [ 42 (45) ]
CPU C3-Cores [ 0 1 2 3 4 5 ]
CPU C6-Cores [ 1 2 3 4 5 7 ]
CPU C7-Cores [ 2 4 5 7 ]
CPU P-States [ (34) 42 44 45 ]
CPU C6-Cores [ 0 1 2 3 4 5 7 ]
CPU C7-Cores [ 2 3 4 5 6 7 ]


#131
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

please upload picture from your CPU Bios Settings.

 

Here are my settings. I downgraded my BIOS a couple of days ago from F21 to F6 (on a Gigabyte Z170X-Gaming 3) to see if that would make any difference. It's not possible to enable or disable HWP in F6 BIOS though. 

 

K0Vb8M5.jpg

LKNqe7R.jpg



#132
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts
Settings:
------------------------------------------
logMSRs..................................: 1
logIGPU..................................: 0
logCStates...............................: 1
logIPGStyle..............................: 1
InitialTSC...............................: 0xb97b8bf030 (19 MHz)
MWAIT C-States...........................: 1319200

Processor Brandstring....................: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz

Processor Signature..................... : 0x506E3
------------------------------------------
 - Family............................... : 6
 - Stepping............................. : 3
 - Model................................ : 0x5E (94)

Model Specific Registers (MSRs)
------------------------------------------

MSR_CORE_THREAD_COUNT............(0x35)  : 0x0
------------------------------------------
 - Core Count........................... : 4
 - Thread Count......................... : 8

MSR_PLATFORM_INFO................(0xCE)  : 0x80838F1012800
------------------------------------------
 - Maximum Non-Turbo Ratio.............. : 0x28 (4000 MHz)
 - Ratio Limit for Turbo Mode........... : 1 (programmable)
 - TDP Limit for Turbo Mode............. : 1 (programmable)
 - Low Power Mode Support............... : 0 (LMP not supported)
 - Number of ConfigTDP Levels........... : 0 (only base TDP level available)
 - Maximum Efficiency Ratio............. : 8
 - Minimum Operating Ratio.............. : 8

MSR_PMG_CST_CONFIG_CONTROL.......(0xE2)  : 0x7E000008
------------------------------------------
 - I/O MWAIT Redirection Enable......... : 0 (not enabled)
 - CFG Lock............................. : 0 (MSR not locked)
 - C3 State Auto Demotion............... : 1 (enabled)
 - C1 State Auto Demotion............... : 1 (enabled)
 - C3 State Undemotion.................. : 1 (enabled)
 - C1 State Undemotion.................. : 1 (enabled)
 - Package C-State Auto Demotion........ : 1 (enabled)
 - Package C-State Undemotion........... : 1 (enabled)

MSR_PMG_IO_CAPTURE_BASE..........(0xE4)  : 0x21814
------------------------------------------
 - LVL_2 Base Address................... : 0x1814
 - C-state Range........................ : 2 (C-States not included, I/O MWAIT redirection not enabled)

IA32_MPERF.......................(0xE7)  : 0xC6E69DDC7
IA32_APERF.......................(0xE8)  : 0xCD3E6CAE9

MSR_FLEX_RATIO...................(0x194) : 0xE0000
------------------------------------------

MSR_IA32_PERF_STATUS.............(0x198) : 0x282800002C00
------------------------------------------
 - Current Performance State Value...... : 0x2C00 (4400 MHz)

MSR_IA32_PERF_CONTROL............(0x199) : 0xA00
------------------------------------------
 - Target performance State Value....... : 0xA00 (1000 MHz)
 - Intel Dynamic Acceleration........... : 0 (IDA engaged)

IA32_CLOCK_MODULATION............(0x19A) : 0x0

IA32_THERM_INTERRUPT.............(0x19B) : 0x0

IA32_THERM_STATUS................(0x19C) : 0x88460800
------------------------------------------
 - Thermal Status....................... : 0
 - Thermal Log.......................... : 0
 - PROCHOT # or FORCEPR# event.......... : 0
 - PROCHOT # or FORCEPR# log............ : 0
 - Critical Temperature Status.......... : 0
 - Critical Temperature log............. : 0
 - Thermal Threshold #1 Status.......... : 0
 - Thermal Threshold #1 log............. : 0
 - Thermal Threshold #2 Status.......... : 0
 - Thermal Threshold #2 log............. : 0
 - Power Limitation Status.............. : 0
 - Power Limitation log................. : 1
 - Current Limit Status................. : 0
 - Current Limit log.................... : 0
 - Cross Domain Limit Status............ : 0
 - Cross Domain Limit log............... : 0
 - Digital Readout...................... : 70
 - Resolution in Degrees Celsius........ : 1
 - Reading Valid........................ : 1 (valid)

MSR_THERM2_CTL...................(0x19D) : 0x0

IA32_MISC_ENABLES................(0x1A0) : 0x850089
------------------------------------------
 - Fast-Strings......................... : 1 (enabled)
 - FOPCODE compatibility mode Enable.... : 0
 - Automatic Thermal Control Circuit.... : 1 (enabled)
 - Split-lock Disable................... : 0
 - Performance Monitoring............... : 1 (available)
 - Bus Lock On Cache Line Splits Disable : 0
 - Hardware prefetch Disable............ : 0
 - Processor Event Based Sampling....... : 0 (PEBS supported)
 - GV1/2 legacy Enable.................. : 0
 - Enhanced Intel SpeedStep Technology.. : 1 (enabled)
 - MONITOR FSM.......................... : 1 (MONITOR/MWAIT supported)
 - Adjacent sector prefetch Disable..... : 0
 - CFG Lock............................. : 0 (MSR not locked)
 - xTPR Message Disable................. : 1 (disabled)

MSR_TEMPERATURE_TARGET...........(0x1A2) : 0x641400
------------------------------------------
 - Turbo Attenuation Units.............. : 0 
 - Temperature Target................... : 100
 - TCC Activation Offset................ : 0

MSR_MISC_PWR_MGMT................(0x1AA) : 0x1CC1
------------------------------------------
 - EIST Hardware Coordination........... : 1 (hardware coordination disabled)
 - Energy/Performance Bias support...... : 1
 - Energy/Performance Bias.............. : 0 (disabled/MSR not visible to software)
 - Thermal Interrupt Coordination Enable : 0 (thermal interrupt not rerouted)

MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x2C2C2C2C
------------------------------------------
 - Maximum Ratio Limit for C01.......... : 2C (4400 MHz) 
 - Maximum Ratio Limit for C02.......... : 2C (4400 MHz) 
 - Maximum Ratio Limit for C03.......... : 2C (4400 MHz) 
 - Maximum Ratio Limit for C04.......... : 2C (4400 MHz) 

IA32_ENERGY_PERF_BIAS............(0x1B0) : 0x1
------------------------------------------
 - Power Policy Preference...............: 1 (highest performance)

MSR_POWER_CTL....................(0x1FC) : 0x3C005F
------------------------------------------
 - Bi-Directional Processor Hot..........: 1 (enabled)
 - C1E Enable............................: 1 (enabled)

MSR_RAPL_POWER_UNIT..............(0x606) : 0xA0E03
------------------------------------------
 - Power Units.......................... : 3 (1/8 Watt)
 - Energy Status Units.................. : 14 (61 micro-Joules)
 - Time Units .......................... : 10 (976.6 micro-Seconds)

MSR_PKG_POWER_LIMIT..............(0x610) : 0x42FFD0001AEA82
------------------------------------------
 - Package Power Limit #1............... : 3408 Watt
 - Enable Power Limit #1................ : 1 (enabled)
 - Package Clamping Limitation #1....... : 0 (disabled)
 - Time Window for Power Limit #1....... : 13 (20480 milli-Seconds)
 - Package Power Limit #2............... : 4090 Watt
 - Enable Power Limit #2................ : 1 (enabled)
 - Package Clamping Limitation #2....... : 0 (disabled)
 - Time Window for Power Limit #2....... : 33 (10 milli-Seconds)
 - Lock................................. : 0 (MSR not locked)

MSR_PKG_ENERGY_STATUS............(0x611) : 0x3070E8F
------------------------------------------
 - Total Energy Consumed................ : 3100 Joules (Watt = Joules / seconds)

MSR_CONFIG_TDP_NOMINAL...........(0x648) : 0x28
MSR_CONFIG_TDP_LEVEL1............(0x649) : 0x0
MSR_CONFIG_TDP_LEVEL2............(0x64a) : 0x0
MSR_CONFIG_TDP_CONTROL...........(0x64b) : 0x80000000
MSR_TURBO_ACTIVATION_RATIO.......(0x64c) : 0x0
MSR_PKGC3_IRTL...................(0x60a) : 0x884E
MSR_PKGC6_IRTL...................(0x60b) : 0x8876
MSR_PKGC7_IRTL...................(0x60c) : 0x8894
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x8BC330BEA8
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0x0
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x8BC330BEA8
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0x0
MSR_PKG_C6_RESIDENCY.............(0x3f9) : 0x0
MSR_PKG_C7_RESIDENCY.............(0x3fa) : 0x0
MSR_PKG_C8_RESIDENCY............(0x630) : 0x0
MSR_PKG_C9_RESIDENCY............(0x631) : 0x0
MSR_PKG_C10_RESIDENCY...........(0x632) : 0x0
MSR_PKG_C8_LATENCY..............(0x633) : 0x0
MSR_PKG_C9_LATENCY..............(0x634) : 0x0
MSR_PKG_C10_LATENCY.............(0x635) : 0x0

MSR_PLATFORM_ENERGY_COUNTER......(0x64D) : 0x0 (not supported by hardware/BIOS)

MSR_PPERF........................(0x64E) : 0xC108488EC
------------------------------------------
 - Hardware workload scalability........ : 51816728812

MSR_CORE_PERF_LIMIT_REASONS......(0x64F) : 0x4100000
------------------------------------------
 - PROCHOT Status....................... : 0
 - Thermal Status....................... : 0
 - Residency State Regulation Status.... : 0
 - Running Average Thermal Limit Status. : 0
 - VR Therm Alert Status................ : 0
 - VR Therm Design Current Status....... : 0
 - Other Status......................... : 0
 - Package/Platform-Level #1 Power Limit : 0
 - Package/Platform-Level #2 Power Limit : 0
 - Max Turbo Limit Status............... : 0
 - Turbo Transition Attenuation Status.. : 0
 - PROCHOT Log.......................... : 0
 - Thermal Log.......................... : 0
 - Residency State Regulation Log....... : 1 (status bit has asserted)
 - Running Average Thermal Limit Log.... : 0
 - VR Therm Alert Log................... : 0
 - VR Thermal Design Current Log........ : 0
 - Other Status Log..................... : 0
 - Package/Platform-Level #1 Power Limit : 1 (status bit has asserted)
 - Package/Platform-Level #2 Power Limit : 0
 - Max Turbo Limit Log.................. : 0
 - Turbo Transition Attenuation Log..... : 0
HDC Supported

IA32_PKG_HDC_CTL.................(0xDB0) : 0x0

IA32_PM_CTL1.....................(0xDB1) : 0x1
------------------------------------------
HDC Allow Block..................(0xDB1) : 1 (HDC blocked)

IA32_THREAD_STALL................(0xDB2) : 0x0

MSR_PKG_HDC_CONFIG...............(0x652) : 0x2
------------------------------------------
Pkg Cx Monitor ..................(0x652) : 2 (count package C3 and deeper)
MSR_CORE_HDC_RESIDENCY...........(0x653) : 0x0

MSR_PKG_HDC_SHALLOW_RESIDENCY....(0x655) : 0x0

MSR_PKG_HDC_DEEP_RESIDENCY.......(0x656) : 0x0

IA32_TSC_DEADLINE................(0x6E0) : 0xB981B4D32B
MSR_PPERF........................(0x63E) : 0x1 (38)

IA32_PM_ENABLE...................(0x770) : 0x1 (HWP Supported and Enabled)

IA32_HWP_CAPABILITIES............(0x771) : 0x10A282C
-----------------------------------------
 - Highest Performance.................. : 44
 - Guaranteed Performance............... : 40
 - Most Efficient Performance........... : 10
 - Lowest Performance................... : 1

IA32_HWP_INTERRUPT...............(0x773) : 0x1
------------------------------------------
 - Guaranteed Performance Change........ : 1 (Interrupt generated on change of)
 - Excursion Minimum.................... : 0 (Interrupt generation disabled)

IA32_HWP_REQUEST................(0x774) : 0x802C2C08
-----------------------------------------
 - Minimum Performance................. : 8
 - Maximum Performance................. : 44
 - Desired Performance................. : 44
 - Energy Efficient Performance........ : 128
 - Activity Window..................... : 0, 0
 - Package Control..................... : 0

IA32_HWP_STATUS..................(0x777) : 0x0
-----------------------------------------
 - Guaranteed Performance Change....... : 0 (has not occured)
 - Excursion To Minimum................ : 0 (has not occured)

CPU Ratio Info:
------------------------------------------
Base Clock Frequency (BLCK)............. : 100 MHz
Maximum Efficiency Ratio/Frequency.......:  8 ( 800 MHz)
Maximum non-Turbo Ratio/Frequency........: 40 (4000 MHz)
Maximum Turbo Ratio/Frequency............: 44 (4400 MHz)
P-State ratio * 100 = Frequency in MHz
------------------------------------------
CPU P-States [ (8) 38 44 ]
CPU C3-Cores [ 0 1 2 7 ]
CPU C6-Cores [ 0 1 2 3 6 7 ]
CPU C7-Cores [ 2 3 5 6 ]
CPU P-States [ (8) 38 44 ]
CPU C3-Cores [ 0 1 2 5 6 7 ]
CPU C7-Cores [ 2 3 4 5 6 7 ]
CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
CPU C6-Cores [ 0 1 2 3 5 6 7 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ 8 38 (40) 44 ]
CPU P-States [ 8 38 40 41 (44) ]
CPU P-States [ 8 38 40 41 43 (44) ]
CPU P-States [ 8 38 (40) 41 43 44 ]
CPU P-States [ 8 38 40 41 43 (44) ]
CPU P-States [ (8) 38 40 41 43 44 ] 

My running up at 4,4 GHZ and its work fine.

Check this kext, edit Frequencies in the plist from 4400 to 4500.

Attached Files



#133
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Thanks, @truesoldier. I upped the frequencies to 4500 and tried your kext. Still no luck though.

 

rhEvrG8.png



#134
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts

you use an SSDT?

overclock with CPU Upgrade option in Bios.



#135
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

you use an SSDT?

overclock with CPU Upgrade option in Bios.

 

Yes, I use the SSDT from OP.

CPU Upgrade in bios is set to 6700K @ 4.5 Ghz.



#136
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts

make darwindumper dump



#137
captain-j

captain-j

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

you use an SSDT?

overclock with CPU Upgrade option in Bios.

@truesoldier @tjrt

 

Thank you for this tip. Resetting my manual overclock values (including voltage) and using the BIOS 'upgrade' option instead seems to have corrected my HWP issues.

hQ86Ulm.png

 

My power usage at idle is about 9W lower than it was previously, and my CPU now properly reaches the 800MHz floor (it doesn't do this too often, but then again I do have a bunch of background processes running most of the time... iStat Menus, Dropbox, Creative Cloud, VPN client etc.)

 

What I did was (using F21 Gigabyte BIOS):

  • remove manual frequency overrides from CPU
  • remove manual CPU Vcore voltage override (I think this was especially important)
  • EIST is set to 'Auto'
  • Intel Speed Shift is set to 'Enabled'
  • save, reboot and re-enter BIOS
  • enable CPU Upgrade option (4.5GHz for i7 6700k)
  • I also enabled 'Platform Power Management' but that seems to be related to peripherals/GPU etc. and probably doesn't matter for this case
  • save, reboot, working as expected!

I'll be interested now to see if changing the frequencyVectors to have the highest energy-saving settings for perf-bias and EPP makes any more of a difference. Out of interest I checked my power usage using the built-in function on my power board, and my computer is running at about ~56W in macOS and about ~60W in Windows (at idle). :)



#138
scj312

scj312

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 676 posts
  • Gender:Male
  • Location:Indianapolis

Hi @captain-j,

 

1 - I don't think HWPEnable is really needed if everything was configured properly. Note that there's no HWP support in the native FrequencyVectors of iMac17,1 and thus HWP won't be activated by default and yes, HWP isn't gonna be supported on real iMac if everything related is untouched/vanilla. So I guess you may need this injector. (HWP enabled, EPP 0x80)

attachicon.gifX17PP.kext.zip

 

Notes:

- Install it to /S/L/E or /L/E, as for kext injection, it WON'T work!

- This dummy kexts needs board-id to be Mac-DB15BD556843C820 for iMac17,1, for otherwise please rename it inside ./X17PP.kext/C*/Resources/Mac-DB15BD556843C820.plist into the new one.

 

2 - Yep X86* is absolutely essential to be loaded and function correctly (No FrequencyVectors missing, or something else), for otherwise your power management will be incomplete.

 

3 - Again, some injectors like this will NOT work via kext injection, now you have to install them into /S/L/E or /L/E

[...]

Thank you for this. Using your kext, and the SSDT in the OP, things seem to be working on my 6600K using iMac17,1:

 Attached File  Screen Shot 2017-04-29 at 3.18.01 AM.png   733.09KB   8 downloads



#139
tjrt

tjrt

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

@captain-j Good to hear! A bit off-topic, but do you have any issues with sleep on F21?

@truesoldier I have attached a system dump. Thanks for helping out!



#140
truesoldier

truesoldier

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 211 posts

@truesoldier I have attached a system dump. Thanks for helping out!

can you upload  EFi folder.







1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users


© 2016 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy