x64x86arm64 / ntdllntoskrnl

_PPM_ENGINE_SETTINGS

← first 1 build latest →
struct _PPM_ENGINE_SETTINGS {
unsigned char ThrottlingPolicy;/* 0x20 1 */
/* 3 bytes padding */
unsigned long PerfTimeCheck;/* 0x24 4 */
unsigned char PerfHistoryCount[2];/* 0x28 2 */
unsigned char PerfMinPolicy[2];/* 0x2a 2 */
unsigned char PerfMaxPolicy[2];/* 0x2c 2 */
unsigned char PerfDecreaseTime[2];/* 0x2e 2 */
unsigned char PerfIncreaseTime[2];/* 0x30 2 */
unsigned char PerfDecreasePolicy[2];/* 0x32 2 */
unsigned char PerfIncreasePolicy[2];/* 0x34 2 */
unsigned char PerfDecreaseThreshold[2];/* 0x36 2 */
unsigned char PerfIncreaseThreshold[2];/* 0x38 2 */
/* 2 bytes padding */
unsigned long PerfFrequencyCap[2];/* 0x3c 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long PerfBoostPolicy;/* 0x44 4 */
unsigned long PerfBoostMode;/* 0x48 4 */
unsigned long PerfReductionTolerance;/* 0x4c 4 */
unsigned long EnergyPerfPreference[2];/* 0x50 8 */
unsigned long AutonomousActivityWindow;/* 0x58 4 */
unsigned char AutonomousPreference;/* 0x5c 1 */
unsigned char LatencyHintPerf[2];/* 0x5d 2 */
unsigned char LatencyHintEpp[2];/* 0x5f 2 */
unsigned char LatencyHintUnpark[2];/* 0x61 2 */
/* 1 byte padding */
unsigned long ResponsivenessDisableThreshold[2];/* 0x64 8 */
unsigned long ResponsivenessEnableThreshold[2];/* 0x6c 8 */
unsigned char ResponsivenessDisableTime[2];/* 0x74 2 */
unsigned char ResponsivenessEnableTime[2];/* 0x76 2 */
unsigned long ResponsivenessEppCeiling[2];/* 0x78 8 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned long ResponsivenessPerfFloor[2];/* 0x80 8 */
unsigned char DutyCycling;/* 0x88 1 */
unsigned char ParkingPerfState[2];/* 0x89 2 */
unsigned char DistributeUtility;/* 0x8b 1 */
unsigned char CoreParkingOverUtilizationThreshold;/* 0x8c 1 */
unsigned char CoreParkingConcurrencyThreshold;/* 0x8d 1 */
unsigned char CoreParkingHeadroomThreshold;/* 0x8e 1 */
unsigned char CoreParkingDistributionThreshold;/* 0x8f 1 */
unsigned char CoreParkingDecreasePolicy;/* 0x90 1 */
unsigned char CoreParkingIncreasePolicy;/* 0x91 1 */
/* 2 bytes padding */
unsigned long CoreParkingDecreaseTime;/* 0x94 4 */
unsigned long CoreParkingIncreaseTime;/* 0x98 4 */
unsigned char CoreParkingMinCores[2];/* 0x9c 2 */
unsigned char CoreParkingMaxCores[2];/* 0x9e 2 */
unsigned long SoftParkLatency;/* 0xa0 4 */
unsigned char AllowScaling;/* 0xa4 1 */
unsigned char IdleDisabled;/* 0xa5 1 */
/* 2 bytes padding */
unsigned long IdleTimeCheck;/* 0xa8 4 */
unsigned char IdleDemotePercent;/* 0xac 1 */
unsigned char IdlePromotePercent;/* 0xad 1 */
unsigned char IdleStateMax;/* 0xae 1 */
unsigned char ResourcePriority[2];/* 0xaf 2 */
unsigned char HeteroDecreaseTime;/* 0xb1 1 */
unsigned char HeteroIncreaseTime;/* 0xb2 1 */
unsigned char HeteroDecreaseThreshold[2][64];/* 0xb3 128 */
/* ── cacheline 4 boundary (256 bytes) ── */
unsigned char HeteroIncreaseThreshold[2][64];/* 0x133 128 */
/* ── cacheline 6 boundary (384 bytes) ── */
unsigned char Class0FloorPerformance;/* 0x1b3 1 */
unsigned char Class1InitialPerformance;/* 0x1b4 1 */
/* 3 bytes padding */
unsigned long ShortThreadRuntimeThreshold;/* 0x1b8 4 */
/* ── cacheline 7 boundary (448 bytes) ── */
unsigned char ArchClassLowerThreshold[2];/* 0x1c4 2 */
unsigned char ArchClassUpperThreshold[2];/* 0x1c6 2 */
unsigned char ModuleUnparkPolicy;/* 0x1c8 1 */
unsigned char ComplexUnparkPolicy;/* 0x1c9 1 */
unsigned char SmtUnparkPolicy;/* 0x1ca 1 */
/* 1 byte padding */
unsigned long HeteroContainmentDecreaseTime;/* 0x1d0 4 */
unsigned long HeteroContainmentIncreaseTime;/* 0x1d4 4 */
unsigned long HeteroEfficiencyContainmentThreshold;/* 0x1d8 4 */
unsigned long HeteroHybridContainmentThreshold;/* 0x1dc 4 */
unsigned long HeteroContainmentPolicy;/* 0x1e0 4 */
unsigned char RestrictionCount;/* 0x1e4 1 */
};
size 488 (0x1e8)69 members7 holes (14 bytes)padding 38 cachelines
Used in (1)