@@ -94,6 +94,7 @@ double getNormalizedPCUCounter(uint32 unit, uint32 counter, const ServerUncoreCo
94
94
namespace PERF_LIMIT_REASON_TPMI
95
95
{
96
96
// from https://github.com/intel/tpmi_power_management
97
+ // https://github.com/intel/tpmi_power_management/blob/main/TPMI_Perf_Limit_reasons_rev3.pdf
97
98
const auto PERF_LIMIT_REASON_TPMI_ID = 0xC ;
98
99
const auto PERF_LIMIT_REASON_TPMI_HEADER = 0x0 ;
99
100
const auto PERF_LIMIT_REASON_TPMI_MAILBOX_INTERFACE = 0x8 ;
@@ -234,16 +235,16 @@ namespace PERF_LIMIT_REASON_TPMI
234
235
MAX = 10
235
236
};
236
237
const char * Coarse_Grained_PLR_Bit_Definition_Strings[] = {
237
- " FREQUENCY" ,
238
- " CURRENT" ,
239
- " POWER" ,
240
- " THERMAL" ,
241
- " PLATFORM" ,
242
- " MCP" ,
243
- " RAS" ,
244
- " MISC" ,
245
- " QOS" ,
246
- " DFC"
238
+ " FREQUENCY" , // Limitation due to Turbo Ratio Limit (TRL)
239
+ " CURRENT" , // Package ICCmax or MT-Pmax
240
+ " POWER" , // Socket or Platform RAPL
241
+ " THERMAL" , // Thermal Throttling
242
+ " PLATFORM" , // Prochot or Hot VR
243
+ " MCP" , // freq limit due to a companion die like PCH
244
+ " RAS" , // freq limit due to RAS
245
+ " MISC" , // Freq limit from out-of-band SW (e.g. BMC)
246
+ " QOS" , // SST-CP, SST-BF, SST-TF
247
+ " DFC" // Freq limitation due to Dynamic Freq Capping
247
248
};
248
249
enum Fine_Grained_PLR_Bit_Definition
249
250
{
@@ -286,14 +287,14 @@ namespace PERF_LIMIT_REASON_TPMI
286
287
FGData (const char * n, int c) : name(n), coarse_grained_mapping(c) {}
287
288
};
288
289
const FGData Fine_Grained_PLR_Bit_Definition_Data[] = {
289
- FGData (" CDYN0" , FREQUENCY),
290
- FGData (" CDYN1" , FREQUENCY),
291
- FGData (" CDYN2" , FREQUENCY),
292
- FGData (" CDYN3" , FREQUENCY),
293
- FGData (" CDYN4" , FREQUENCY),
294
- FGData (" CDYN5" , FREQUENCY),
295
- FGData (" FCT" , FREQUENCY),
296
- FGData (" PCS_TRL" , FREQUENCY),
290
+ FGData (" TRL/ CDYN0" , FREQUENCY), // Turbo Ratio Limit 0
291
+ FGData (" TRL/ CDYN1" , FREQUENCY), // Turbo Ratio Limit 1
292
+ FGData (" TRL/ CDYN2" , FREQUENCY), // Turbo Ratio Limit 2
293
+ FGData (" TRL/ CDYN3" , FREQUENCY), // Turbo Ratio Limit 3
294
+ FGData (" TRL/ CDYN4" , FREQUENCY), // Turbo Ratio Limit 4
295
+ FGData (" TRL/ CDYN5" , FREQUENCY), // Turbo Ratio Limit 5
296
+ FGData (" FCT" , FREQUENCY), // Favored Core Turbo
297
+ FGData (" PCS_TRL" , FREQUENCY), // Turbo Ratio Limit from out-of-band (BMC)
297
298
FGData (" MTPMAX" , CURRENT),
298
299
FGData (" FAST_RAPL" , POWER),
299
300
FGData (" PKG_PL1_MSR_TPMI" , POWER),
@@ -309,8 +310,8 @@ namespace PERF_LIMIT_REASON_TPMI
309
310
FGData (" PLATFORM_PL2_MMIO" , POWER),
310
311
FGData (" PLATFORM_PL2_PCS" , POWER),
311
312
FGData (" RSVD" , POWER),
312
- FGData (" PER_CORE_THERMAL" , THERMAL),
313
- FGData (" UFS_DFC" , DFC),
313
+ FGData (" PER_CORE_THERMAL" , THERMAL), // Thermal Throttling
314
+ FGData (" UFS_DFC" , DFC), // Dynamic Freq Capping
314
315
FGData (" XXPROCHOT" , PLATFORM),
315
316
FGData (" HOT_VR" , PLATFORM),
316
317
FGData (" RSVD2" , PLATFORM),
0 commit comments