@@ -273,10 +273,10 @@ struct msr_counter bic[] = {
273
273
#define BIC_NMI (1ULL << 61)
274
274
#define BIC_CPU_c1e (1ULL << 62)
275
275
276
- #define BIC_TOPOLOGY (BIC_Package | BIC_Node | BIC_CoreCnt | BIC_PkgCnt | BIC_Core | BIC_CPU | BIC_Die)
277
- #define BIC_THERMAL_PWR (BIC_CoreTmp | BIC_PkgTmp | BIC_PkgWatt | BIC_CorWatt | BIC_GFXWatt | BIC_RAMWatt | BIC_PKG__ | BIC_RAM__ | BIC_SysWatt)
278
- #define BIC_FREQUENCY (BIC_Avg_MHz | BIC_Busy | BIC_Bzy_MHz | BIC_TSC_MHz | BIC_GFXMHz | BIC_GFXACTMHz | BIC_SAMMHz | BIC_SAMACTMHz | BIC_UNCORE_MHZ)
279
- #define BIC_IDLE (BIC_Busy | BIC_sysfs | BIC_CPU_c1 | BIC_CPU_c3 | BIC_CPU_c6 | BIC_CPU_c7 | BIC_GFX_rc6 | BIC_Pkgpc2 | BIC_Pkgpc3 | BIC_Pkgpc6 | BIC_Pkgpc7 | BIC_Pkgpc8 | BIC_Pkgpc9 | BIC_Pkgpc10 | BIC_CPU_LPI | BIC_SYS_LPI | BIC_Mod_c6 | BIC_Totl_c0 | BIC_Any_c0 | BIC_GFX_c0 | BIC_CPUGFX | BIC_SAM_mc6 | BIC_Diec6)
276
+ #define BIC_GROUP_TOPOLOGY (BIC_Package | BIC_Node | BIC_CoreCnt | BIC_PkgCnt | BIC_Core | BIC_CPU | BIC_Die)
277
+ #define BIC_GROUP_THERMAL_PWR (BIC_CoreTmp | BIC_PkgTmp | BIC_PkgWatt | BIC_CorWatt | BIC_GFXWatt | BIC_RAMWatt | BIC_PKG__ | BIC_RAM__ | BIC_SysWatt)
278
+ #define BIC_GROUP_FREQUENCY (BIC_Avg_MHz | BIC_Busy | BIC_Bzy_MHz | BIC_TSC_MHz | BIC_GFXMHz | BIC_GFXACTMHz | BIC_SAMMHz | BIC_SAMACTMHz | BIC_UNCORE_MHZ)
279
+ #define BIC_GROUP_IDLE (BIC_Busy | BIC_sysfs | BIC_CPU_c1 | BIC_CPU_c3 | BIC_CPU_c6 | BIC_CPU_c7 | BIC_GFX_rc6 | BIC_Pkgpc2 | BIC_Pkgpc3 | BIC_Pkgpc6 | BIC_Pkgpc7 | BIC_Pkgpc8 | BIC_Pkgpc9 | BIC_Pkgpc10 | BIC_CPU_LPI | BIC_SYS_LPI | BIC_Mod_c6 | BIC_Totl_c0 | BIC_Any_c0 | BIC_GFX_c0 | BIC_CPUGFX | BIC_SAM_mc6 | BIC_Diec6)
280
280
#define BIC_OTHER (BIC_IRQ | BIC_NMI | BIC_SMI | BIC_ThreadC | BIC_CoreTmp | BIC_IPC)
281
281
282
282
#define BIC_DISABLED_BY_DEFAULT (BIC_USEC | BIC_TOD | BIC_APIC | BIC_X2APIC)
@@ -2354,16 +2354,16 @@ unsigned long long bic_lookup(char *name_list, enum show_hide_mode mode)
2354
2354
retval |= ~0 ;
2355
2355
break ;
2356
2356
} else if (!strcmp (name_list , "topology" )) {
2357
- retval |= BIC_TOPOLOGY ;
2357
+ retval |= BIC_GROUP_TOPOLOGY ;
2358
2358
break ;
2359
2359
} else if (!strcmp (name_list , "power" )) {
2360
- retval |= BIC_THERMAL_PWR ;
2360
+ retval |= BIC_GROUP_THERMAL_PWR ;
2361
2361
break ;
2362
2362
} else if (!strcmp (name_list , "idle" )) {
2363
- retval |= BIC_IDLE ;
2363
+ retval |= BIC_GROUP_IDLE ;
2364
2364
break ;
2365
2365
} else if (!strcmp (name_list , "frequency" )) {
2366
- retval |= BIC_FREQUENCY ;
2366
+ retval |= BIC_GROUP_FREQUENCY ;
2367
2367
break ;
2368
2368
} else if (!strcmp (name_list , "other" )) {
2369
2369
retval |= BIC_OTHER ;
@@ -10260,7 +10260,7 @@ int is_deferred_skip(char *name)
10260
10260
return 0 ;
10261
10261
}
10262
10262
10263
- void probe_sysfs (void )
10263
+ void probe_cpuidle_residency (void )
10264
10264
{
10265
10265
char path [64 ];
10266
10266
char name_buf [16 ];
@@ -10304,6 +10304,16 @@ void probe_sysfs(void)
10304
10304
if (state < min_state )
10305
10305
min_state = state ;
10306
10306
}
10307
+ }
10308
+
10309
+ void probe_cpuidle_counts (void )
10310
+ {
10311
+ char path [64 ];
10312
+ char name_buf [16 ];
10313
+ FILE * input ;
10314
+ int state ;
10315
+ int min_state = 1024 , max_state = 0 ;
10316
+ char * sp ;
10307
10317
10308
10318
for (state = 10 ; state >= 0 ; -- state ) {
10309
10319
@@ -10602,7 +10612,8 @@ int main(int argc, char **argv)
10602
10612
print_bootcmd ();
10603
10613
}
10604
10614
10605
- probe_sysfs ();
10615
+ probe_cpuidle_residency ();
10616
+ probe_cpuidle_counts ();
10606
10617
10607
10618
if (!getuid ())
10608
10619
set_rlimit ();
0 commit comments