Contribute
Register

macOS Native CPU/IGPU Power Management

Just FYI, If I choose imac18,1 instead of 18,3 and use the method in the OP, I don't get proper management at all, to compare with earlier posts, also, if you set to imac 18,1, you get screen glitch on boot and on sleep (I tried both as igpu and gfx0). Both do not occur with 18,3. 18,1 also had did not go down to 0.8ghz. In the meantime, my normal configuration still does iGPU P-States [ 2 5 21 (27) ] if I run everything at the same time (2x opengl benchmarks with HEVC decoding simultaneously)

Code:
AppleIntelInfo.kext v2.9 Copyright © 2012-2017 Pike R. Alpha. All rights reserved.
enableHWP................................: 0

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

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

Processor Signature..................... : 0x906E9
------------------------------------------
- Family............................... : 6
- Stepping............................. : 9
- Model................................ : 0x9E (158)

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

MSR_IA32_PLATFORM_ID.............(0x17)  : 0x4000000000000
------------------------------------------
- Processor Flags...................... : 1

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

MSR_PLATFORM_INFO................(0xCE)  : 0x80838F1012A00
------------------------------------------
- Maximum Non-Turbo Ratio.............. : 0x2A (4200 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)  : 0x1814
------------------------------------------
- LVL_2 Base Address................... : 0x1814
- C-state Range........................ : 0 (C-States not included, I/O MWAIT redirection not enabled)

IA32_MPERF.......................(0xE7)  : 0xBA298A9D0
IA32_APERF.......................(0xE8)  : 0xC96036147

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

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

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

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

IA32_THERM_INTERRUPT.............(0x19B) : 0x10
------------------------------------------
- High-Temperature Interrupt Enable.... : 0 (disabled)
- Low-Temperature Interrupt Enable..... : 0 (disabled)
- PROCHOT# Interrupt Enable............ : 0 (disabled)
- FORCEPR# Interrupt Enable............ : 0 (disabled)
- Critical Temperature Interrupt Enable : 1 (enabled)
- Threshold #1 Value................... : 0
- Threshold #1 Interrupt Enable........ : 0 (disabled)
- Threshold #2 Value................... : 0
- Threshold #2 Interrupt Enable........ : 0 (disabled)
- Power Limit Notification Enable...... : 0 (disabled)

IA32_THERM_STATUS................(0x19C) : 0x88410000
------------------------------------------
- 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................. : 0
- Current Limit Status................. : 0
- Current Limit log.................... : 0
- Cross Domain Limit Status............ : 0
- Cross Domain Limit log............... : 0
- Digital Readout...................... : 65
- 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) : 0x401CC1
------------------------------------------
- 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 : 1 (thermal interrupt routed to all cores)
- SpeedShift Technology Enable......... : 1 (enabled)
- SpeedShift Interrupt Coordination.... : 1 (enabled)
- SpeedShift Energy Efficient Perf..... : 1 (enabled)
- SpeedShift Technology Setup for HWP.. : Yes (setup for HWP)

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) : 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) : 0x42FFF80015FFF8
------------------------------------------
- Package Power Limit #1............... : 4095 Watt
- Enable Power Limit #1................ : 1 (enabled)
- Package Clamping Limitation #1....... : 1 (allow going below OS-requested P/T state during Time Window for Power Limit #1)
- Time Window for Power Limit #1....... : 10 (2560 milli-Seconds)
- Package Power Limit #2............... : 4095 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) : 0x1417E2F
------------------------------------------
- Total Energy Consumed................ : 1285 Joules (Watt = Joules / seconds)

MSR_PP0_POWER_LIMIT..............(0x638) : 0x0

MSR_PP0_ENERGY_STATUS............(0x639) : 0x1242F90
------------------------------------------
- Total Energy Consumed................ : 1168 Joules (Watt = Joules / seconds)

MSR_PP0_POWER_LIMIT..............(0x638) : 0x0

MSR_PP0_ENERGY_STATUS............(0x639) : 0x1243039
------------------------------------------
- Total Energy Consumed................ : 1168 Joules (Watt = Joules / seconds)

MSR_PP1_POWER_LIMIT..............(0x640) : 0x0

MSR_PP1_ENERGY_STATUS............(0x641) : 0x9578F
------------------------------------------
- Total Energy Consumed................ : 37 Joules (Watt = Joules / seconds)

MSR_PP1_POLICY...................(0x642) : 0x18
------------------------------------------
- Priority Level....................... : 24

MSR_CONFIG_TDP_NOMINAL...........(0x648) : 0x2A
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) : 0x19FC5A62A8
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0x0
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x19FC5A62A8
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) : 0xC21642489
------------------------------------------
- Hardware workload scalability........ : 52099818633

MSR_CORE_PERF_LIMIT_REASONS......(0x64F) : 0x0
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) : 0x4396509A640

IA32_PM_ENABLE...................(0x770) : 0x0 (HWP Supported but not, yet, enabled)

CPU Ratio Info:
------------------------------------------
Base Clock Frequency (BLCK)............. : 100 MHz
Maximum Efficiency Ratio/Frequency.......:  8 ( 800 MHz)
Maximum non-Turbo Ratio/Frequency........: 42 (4200 MHz)
Maximum Turbo Ratio/Frequency............: 45 (4500 MHz)

IGPU Info:
------------------------------------------
IGPU Current Frequency...................:    0 MHz
IGPU Minimum Frequency...................:  350 MHz
IGPU Maximum Non-Turbo Frequency.........:  350 MHz
IGPU Maximum Turbo Frequency.............: 1150 MHz
IGPU Maximum limit.......................: 1150 MHz

P-State ratio * 100 = Frequency in MHz
------------------------------------------
CPU P-States [ (42) 45 ] iGPU P-States [ ]
CPU C3-Cores [ 1 2 3 5 7 ]
CPU C6-Cores [ 0 2 3 5 6 7 ]
CPU P-States [ 36 42 (45) ] iGPU P-States [ ]
CPU C3-Cores [ 0 1 2 3 5 6 7 ]
CPU C6-Cores [ 0 2 3 4 5 6 7 ]
CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ (13) 36 42 45 ] iGPU P-States [ ]
CPU P-States [ 13 35 36 42 (45) ] iGPU P-States [ ]
CPU P-States [ (13) 35 36 39 42 45 ] iGPU P-States [ ]
CPU P-States [ 13 35 36 37 39 42 (45) ] iGPU P-States [ ]
CPU P-States [ (8) 13 35 36 37 39 42 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 13 35 36 37 39 40 42 44 (45) ] iGPU P-States [ ]
CPU P-States [ 8 13 35 36 37 38 39 40 (42) 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 13 35 36 37 38 39 40 42 43 44 (45) ] iGPU P-States [ ]
CPU P-States [ 8 (13) 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 32 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 13 31 32 35 36 37 38 39 40 41 (42) 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 27 31 32 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 24 27 31 32 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 24 27 31 32 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 13 24 27 29 31 32 34 35 36 37 38 39 40 41 42 43 44 (45) ] iGPU P-States [ ]
CPU P-States [ 8 13 24 27 29 31 32 33 34 35 36 37 38 39 40 41 (42) 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 24 25 27 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 23 24 25 27 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 20 23 24 25 27 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 20 23 24 25 26 27 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 20 22 23 24 25 26 27 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 20 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 (13) 20 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ ]
CPU P-States [ 8 13 20 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 (42) 43 44 45 ] iGPU P-States [ 5 ]
CPU P-States [ 8 (13) 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ] iGPU P-States [ 5 ]
 
Last edited:
IOReg is required for any valid assessment.
Ok, If I run 18,1 again for some reason I will drop an ioreg. I just wanted to let you know in case somebody has a 7700k processor and are running 18,1 and their P states are off, suggest trying 18,3.

in 18,3 though:
IGPU pstates still extend beyond 21 in, do you think it's a Appleintelinfo rounding bug? Intel Power Gadget log never exceeds 1149mhz Here is the raw data from Inter Power Management Graphed (sheet 2)
https://docs.google.com/spreadsheets/d/1W8uIoMH9mVpzPni9nd5vKj2dFbk6sGvZXpcz8I4YuB8/edit?usp=sharing

yet AppleIntelinfo dumps:
CPU P-States [ 8 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 (42) 43 44 45 ] iGPU P-States [ 2 5 21 (24) 27 30 ]
 

Attachments

  • Final_imac183_Nativepm.zip
    790 KB · Views: 68
Last edited:
Back
Top