struct _PPM_ENGINE_SETTINGS { union _PPM_POLICY_SETTINGS_MASK ExplicitSetting[3];/* 0x0 48 */ unsigned char ThrottlingPolicy;/* 0x30 1 */ /* 3 bytes padding */ unsigned long PerfTimeCheck;/* 0x34 4 */ unsigned char PerfHistoryCount[3];/* 0x38 3 */ unsigned char PerfMinPolicy[3];/* 0x3b 3 */ unsigned char PerfMaxPolicy[3];/* 0x3e 3 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned char PerfDecreaseTime[3];/* 0x41 3 */ unsigned char PerfIncreaseTime[3];/* 0x44 3 */ unsigned char PerfDecreasePolicy[3];/* 0x47 3 */ unsigned char PerfIncreasePolicy[3];/* 0x4a 3 */ unsigned char PerfDecreaseThreshold[3];/* 0x4d 3 */ unsigned char PerfIncreaseThreshold[3];/* 0x50 3 */ /* 1 byte padding */ unsigned long PerfFrequencyCap[3];/* 0x54 12 */ unsigned long PerfFrequencyMin[3];/* 0x60 12 */ unsigned long PerfBoostPolicy;/* 0x6c 4 */ unsigned long PerfBoostMode;/* 0x70 4 */ unsigned long PerfReductionTolerance;/* 0x74 4 */ unsigned long EnergyPerfPreference[3];/* 0x78 12 */ /* ── cacheline 2 boundary (128 bytes) ── */ unsigned long AutonomousActivityWindow;/* 0x84 4 */ unsigned char AutonomousPreference;/* 0x88 1 */ unsigned char LatencyHintPerf[3];/* 0x89 3 */ unsigned long LatencyHintFreq[3];/* 0x8c 12 */ unsigned char LatencyHintEpp[3];/* 0x98 3 */ unsigned char LatencyHintUnpark[3];/* 0x9b 3 */ /* 2 bytes padding */ unsigned long ResponsivenessDisableThreshold[3];/* 0xa0 12 */ unsigned long ResponsivenessEnableThreshold[3];/* 0xac 12 */ unsigned char ResponsivenessDisableTime[3];/* 0xb8 3 */ unsigned char ResponsivenessEnableTime[3];/* 0xbb 3 */ /* 2 bytes padding */ /* ── cacheline 3 boundary (192 bytes) ── */ unsigned long ResponsivenessEppCeiling[3];/* 0xc0 12 */ unsigned long ResponsivenessPerfFloor[3];/* 0xcc 12 */ unsigned char DutyCycling;/* 0xd8 1 */ unsigned char ParkingPerfState[3];/* 0xd9 3 */ unsigned char DistributeUtility;/* 0xdc 1 */ unsigned char CoreParkingOverUtilizationThreshold;/* 0xdd 1 */ unsigned char CoreParkingConcurrencyThreshold;/* 0xde 1 */ unsigned char CoreParkingHeadroomThreshold;/* 0xdf 1 */ unsigned char CoreParkingDistributionThreshold;/* 0xe0 1 */ unsigned char CoreParkingDecreasePolicy;/* 0xe1 1 */ unsigned char CoreParkingIncreasePolicy;/* 0xe2 1 */ /* 1 byte padding */ unsigned long CoreParkingDecreaseTime;/* 0xe4 4 */ unsigned long CoreParkingIncreaseTime;/* 0xe8 4 */ unsigned char CoreParkingMinCores[3];/* 0xec 3 */ unsigned char CoreParkingMaxCores[3];/* 0xef 3 */ /* 2 bytes padding */ unsigned long SoftParkLatency;/* 0xf4 4 */ unsigned char AllowScaling;/* 0xf8 1 */ unsigned char IdleDisabled;/* 0xf9 1 */ /* 2 bytes padding */ unsigned long IdleTimeCheck;/* 0xfc 4 */ /* ── cacheline 4 boundary (256 bytes) ── */ unsigned char IdleDemotePercent;/* 0x100 1 */ unsigned char IdlePromotePercent;/* 0x101 1 */ unsigned char IdleStateMax;/* 0x102 1 */ unsigned char ResourcePriority[3];/* 0x103 3 */ unsigned char HeteroDecreaseTime;/* 0x106 1 */ unsigned char HeteroIncreaseTime;/* 0x107 1 */ unsigned char HeteroDecreaseThreshold[3][64];/* 0x108 192 */ /* ── cacheline 7 boundary (448 bytes) ── */ unsigned char HeteroIncreaseThreshold[3][64];/* 0x1c8 192 */ /* ── cacheline 10 boundary (640 bytes) ── */ unsigned char Class0FloorPerformance;/* 0x288 1 */ unsigned char Class1InitialPerformance;/* 0x289 1 */ /* 2 bytes padding */ unsigned long ShortThreadRuntimeThreshold;/* 0x28c 4 */ enum _KHETERO_CPU_POLICY ThreadPolicies[2];/* 0x290 8 */ unsigned char ArchClassLowerThreshold[2];/* 0x298 2 */ unsigned char ArchClassUpperThreshold[2];/* 0x29a 2 */ unsigned char ModuleUnparkPolicy;/* 0x29c 1 */ unsigned char ComplexUnparkPolicy;/* 0x29d 1 */ unsigned char SmtUnparkPolicy;/* 0x29e 1 */ /* 1 byte padding */ enum _PPM_HETERO_POLICY HeteroPolicy;/* 0x2a0 4 */ unsigned long HeteroContainmentDecreaseTime;/* 0x2a4 4 */ unsigned long HeteroContainmentIncreaseTime;/* 0x2a8 4 */ unsigned long HeteroEfficiencyContainmentThreshold;/* 0x2ac 4 */ unsigned long HeteroHybridContainmentThreshold;/* 0x2b0 4 */ unsigned long HeteroContainmentPolicy;/* 0x2b4 4 */ unsigned long WpsMinEfficiencyThreshold;/* 0x2b8 4 */ unsigned long HeteroContainmentEfficiencyImpUtilThreshold;/* 0x2bc 4 */ /* ── cacheline 11 boundary (704 bytes) ── */ unsigned long HeteroContainmentHybridImpUtilThreshold;/* 0x2c0 4 */ unsigned char RestrictionCount;/* 0x2c4 1 */};size 712 (0x2c8)74 members9 holes (16 bytes)padding 312 cachelines
Used in (1)