tools/power turbostat: No build warnings with -Wextra
authorLen Brown <len.brown@intel.com>
Sun, 17 Apr 2022 03:45:18 +0000 (23:45 -0400)
committerLen Brown <len.brown@intel.com>
Sun, 17 Apr 2022 03:45:18 +0000 (23:45 -0400)
Signed-off-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/Makefile
tools/power/x86/turbostat/turbostat.c

index f3e3c94ab9bd56f88a6ed03ad888d48ba4b3eab5..92e139b9c792d7207246e6a1227c52112bcab090 100644 (file)
@@ -9,7 +9,7 @@ ifeq ("$(origin O)", "command line")
 endif
 
 turbostat : turbostat.c
-override CFLAGS +=     -O2 -Wall -I../../../include
+override CFLAGS +=     -O2 -Wall -Wextra -I../../../include
 override CFLAGS +=     -DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"'
 override CFLAGS +=     -DINTEL_FAMILY_HEADER='"../../../../arch/x86/include/asm/intel-family.h"'
 override CFLAGS +=     -D_FILE_OFFSET_BITS=64
index db8b1ebe030b2e49789d02552d40f18f908fafa3..0e7dd02ee308823c23925d155d1ce586cb884c95 100644 (file)
@@ -37,6 +37,8 @@
 #include <asm/unistd.h>
 #include <stdbool.h>
 
+#define UNUSED(x) (void)(x)
+
 /*
  * This list matches the column headers, except
  * 1. built-in only, the sysfs counters are not here -- we learn of those at run-time
@@ -70,60 +72,60 @@ struct msr_counter {
 };
 
 struct msr_counter bic[] = {
-       { 0x0, "usec" },
-       { 0x0, "Time_Of_Day_Seconds" },
-       { 0x0, "Package" },
-       { 0x0, "Node" },
-       { 0x0, "Avg_MHz" },
-       { 0x0, "Busy%" },
-       { 0x0, "Bzy_MHz" },
-       { 0x0, "TSC_MHz" },
-       { 0x0, "IRQ" },
-       { 0x0, "SMI", "", 32, 0, FORMAT_DELTA, NULL },
-       { 0x0, "sysfs" },
-       { 0x0, "CPU%c1" },
-       { 0x0, "CPU%c3" },
-       { 0x0, "CPU%c6" },
-       { 0x0, "CPU%c7" },
-       { 0x0, "ThreadC" },
-       { 0x0, "CoreTmp" },
-       { 0x0, "CoreCnt" },
-       { 0x0, "PkgTmp" },
-       { 0x0, "GFX%rc6" },
-       { 0x0, "GFXMHz" },
-       { 0x0, "Pkg%pc2" },
-       { 0x0, "Pkg%pc3" },
-       { 0x0, "Pkg%pc6" },
-       { 0x0, "Pkg%pc7" },
-       { 0x0, "Pkg%pc8" },
-       { 0x0, "Pkg%pc9" },
-       { 0x0, "Pk%pc10" },
-       { 0x0, "CPU%LPI" },
-       { 0x0, "SYS%LPI" },
-       { 0x0, "PkgWatt" },
-       { 0x0, "CorWatt" },
-       { 0x0, "GFXWatt" },
-       { 0x0, "PkgCnt" },
-       { 0x0, "RAMWatt" },
-       { 0x0, "PKG_%" },
-       { 0x0, "RAM_%" },
-       { 0x0, "Pkg_J" },
-       { 0x0, "Cor_J" },
-       { 0x0, "GFX_J" },
-       { 0x0, "RAM_J" },
-       { 0x0, "Mod%c6" },
-       { 0x0, "Totl%C0" },
-       { 0x0, "Any%C0" },
-       { 0x0, "GFX%C0" },
-       { 0x0, "CPUGFX%" },
-       { 0x0, "Core" },
-       { 0x0, "CPU" },
-       { 0x0, "APIC" },
-       { 0x0, "X2APIC" },
-       { 0x0, "Die" },
-       { 0x0, "GFXAMHz" },
-       { 0x0, "IPC" },
-       { 0x0, "CoreThr" },
+       { 0x0, "usec", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Time_Of_Day_Seconds", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Package", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Node", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Avg_MHz", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Busy%", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Bzy_MHz", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "TSC_MHz", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "IRQ", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "SMI", "", 32, 0, FORMAT_DELTA, NULL, 0 },
+       { 0x0, "sysfs", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPU%c1", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPU%c3", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPU%c6", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPU%c7", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "ThreadC", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CoreTmp", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CoreCnt", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "PkgTmp", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "GFX%rc6", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "GFXMHz", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg%pc2", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg%pc3", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg%pc6", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg%pc7", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg%pc8", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg%pc9", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pk%pc10", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPU%LPI", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "SYS%LPI", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "PkgWatt", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CorWatt", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "GFXWatt", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "PkgCnt", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "RAMWatt", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "PKG_%", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "RAM_%", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Pkg_J", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Cor_J", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "GFX_J", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "RAM_J", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Mod%c6", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Totl%C0", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Any%C0", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "GFX%C0", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPUGFX%", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Core", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CPU", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "APIC", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "X2APIC", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "Die", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "GFXAMHz", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "IPC", "", 0, 0, 0, NULL, 0 },
+       { 0x0, "CoreThr", "", 0, 0, 0, NULL, 0 },
 };
 
 #define MAX_BIC (sizeof(bic) / sizeof(struct msr_counter))
@@ -752,7 +754,7 @@ void help(void)
  */
 unsigned long long bic_lookup(char *name_list, enum show_hide_mode mode)
 {
-       int i;
+       unsigned int i;
        unsigned long long retval = 0;
 
        while (name_list) {
@@ -2485,6 +2487,9 @@ int has_turbo_ratio_group_limits(int family, int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ATOM_GOLDMONT:
        case INTEL_FAM6_SKYLAKE_X:
@@ -2492,8 +2497,9 @@ int has_turbo_ratio_group_limits(int family, int model)
        case INTEL_FAM6_ATOM_GOLDMONT_D:
        case INTEL_FAM6_ATOM_TREMONT_D:
                return 1;
+       default:
+               return 0;
        }
-       return 0;
 }
 
 static void dump_turbo_ratio_limits(int family, int model)
@@ -3084,6 +3090,8 @@ void set_max_cpu_num(void)
  */
 int count_cpus(int cpu)
 {
+       UNUSED(cpu);
+
        topo.num_cpus++;
        return 0;
 }
@@ -3418,6 +3426,9 @@ static int update_msr_sum(struct thread_data *t, struct core_data *c, struct pkg
        int i, ret;
        int cpu = t->cpu_id;
 
+       UNUSED(c);
+       UNUSED(p);
+
        for (i = IDX_PKG_ENERGY; i < IDX_COUNT; i++) {
                unsigned long long msr_cur, msr_last;
                off_t offset;
@@ -3444,6 +3455,8 @@ static int update_msr_sum(struct thread_data *t, struct core_data *c, struct pkg
 
 static void msr_record_handler(union sigval v)
 {
+       UNUSED(v);
+
        for_all_cpus(update_msr_sum, EVEN_COUNTERS);
 }
 
@@ -3526,7 +3539,7 @@ void turbostat_loop()
 {
        int retval;
        int restarted = 0;
-       int done_iters = 0;
+       unsigned int done_iters = 0;
 
        setup_signal_handler();
 
@@ -3738,6 +3751,7 @@ int probe_nhm_msrs(unsigned int family, unsigned int model)
                break;
        case INTEL_FAM6_ATOM_SILVERMONT:        /* BYT */
                no_MSR_MISC_PWR_MGMT = 1;
+               /* FALLTHRU */
        case INTEL_FAM6_ATOM_SILVERMONT_D:      /* AVN */
                pkg_cstate_limits = slv_pkg_cstate_limits;
                break;
@@ -3781,6 +3795,9 @@ int has_slv_msrs(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ATOM_SILVERMONT:
        case INTEL_FAM6_ATOM_SILVERMONT_MID:
@@ -3796,6 +3813,9 @@ int is_dnv(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ATOM_GOLDMONT_D:
                return 1;
@@ -3809,6 +3829,9 @@ int is_bdx(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_BROADWELL_X:
                return 1;
@@ -3822,6 +3845,9 @@ int is_skx(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_SKYLAKE_X:
                return 1;
@@ -3835,6 +3861,9 @@ int is_icx(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ICELAKE_X:
                return 1;
@@ -3847,6 +3876,9 @@ int is_ehl(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ATOM_TREMONT:
                return 1;
@@ -3859,6 +3891,9 @@ int is_jvl(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ATOM_TREMONT_D:
                return 1;
@@ -3871,6 +3906,9 @@ int has_turbo_ratio_limit(unsigned int family, unsigned int model)
        if (has_slv_msrs(family, model))
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
                /* Nehalem compatible, but do not include turbo-ratio limit support */
        case INTEL_FAM6_NEHALEM_EX:     /* Nehalem-EX Xeon - Beckton */
@@ -4185,6 +4223,9 @@ int print_epb(struct thread_data *t, struct core_data *c, struct pkg_data *p)
        char *epb_string;
        int cpu, epb;
 
+       UNUSED(c);
+       UNUSED(p);
+
        if (!has_epb)
                return 0;
 
@@ -4231,6 +4272,9 @@ int print_hwp(struct thread_data *t, struct core_data *c, struct pkg_data *p)
        unsigned long long msr;
        int cpu;
 
+       UNUSED(c);
+       UNUSED(p);
+
        if (!has_hwp)
                return 0;
 
@@ -4314,6 +4358,9 @@ int print_perf_limit(struct thread_data *t, struct core_data *c, struct pkg_data
        unsigned long long msr;
        int cpu;
 
+       UNUSED(c);
+       UNUSED(p);
+
        cpu = t->cpu_id;
 
        /* per-package */
@@ -4419,6 +4466,8 @@ double get_tdp_intel(unsigned int model)
 
 double get_tdp_amd(unsigned int family)
 {
+       UNUSED(family);
+
        /* This is the max stock TDP of HEDT/Server Fam17h+ chips */
        return 280.0;
 }
@@ -4620,6 +4669,8 @@ void rapl_probe_amd(unsigned int family, unsigned int model)
        unsigned int has_rapl = 0;
        double tdp;
 
+       UNUSED(model);
+
        if (max_extended_level >= 0x80000007) {
                __cpuid(0x80000007, eax, ebx, ecx, edx);
                /* RAPL (Fam 17h+) */
@@ -4678,6 +4729,7 @@ void perf_limit_reasons_probe(unsigned int family, unsigned int model)
        case INTEL_FAM6_HASWELL_L:      /* HSW */
        case INTEL_FAM6_HASWELL_G:      /* HSW */
                do_gfx_perf_limit_reasons = 1;
+               /* FALLTHRU */
        case INTEL_FAM6_HASWELL_X:      /* HSX */
                do_core_perf_limit_reasons = 1;
                do_ring_perf_limit_reasons = 1;
@@ -4704,6 +4756,9 @@ int print_thermal(struct thread_data *t, struct core_data *c, struct pkg_data *p
        unsigned int dts, dts2;
        int cpu;
 
+       UNUSED(c);
+       UNUSED(p);
+
        if (!(do_dts || do_ptm))
                return 0;
 
@@ -4775,6 +4830,9 @@ int print_rapl(struct thread_data *t, struct core_data *c, struct pkg_data *p)
        const char *msr_name;
        int cpu;
 
+       UNUSED(c);
+       UNUSED(p);
+
        if (!do_rapl)
                return 0;
 
@@ -4898,6 +4956,9 @@ int has_snb_msrs(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_SANDYBRIDGE:
        case INTEL_FAM6_SANDYBRIDGE_X:
@@ -4941,6 +5002,9 @@ int has_c8910_msrs(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_HASWELL_L:      /* HSW */
        case INTEL_FAM6_BROADWELL:      /* BDW */
@@ -4967,6 +5031,9 @@ int has_skl_msrs(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_SKYLAKE_L:      /* SKL */
        case INTEL_FAM6_CANNONLAKE_L:   /* CNL */
@@ -4979,6 +5046,10 @@ int is_slm(unsigned int family, unsigned int model)
 {
        if (!genuine_intel)
                return 0;
+
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_ATOM_SILVERMONT:        /* BYT */
        case INTEL_FAM6_ATOM_SILVERMONT_D:      /* AVN */
@@ -4991,6 +5062,10 @@ int is_knl(unsigned int family, unsigned int model)
 {
        if (!genuine_intel)
                return 0;
+
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_XEON_PHI_KNL:   /* KNL */
                return 1;
@@ -5003,6 +5078,9 @@ int is_cnl(unsigned int family, unsigned int model)
        if (!genuine_intel)
                return 0;
 
+       if (family != 6)
+               return 0;
+
        switch (model) {
        case INTEL_FAM6_CANNONLAKE_L:   /* CNL */
                return 1;
@@ -5057,6 +5135,9 @@ int get_cpu_type(struct thread_data *t, struct core_data *c, struct pkg_data *p)
 {
        unsigned int eax, ebx, ecx, edx;
 
+       UNUSED(c);
+       UNUSED(p);
+
        if (!genuine_intel)
                return 0;
 
@@ -5093,6 +5174,9 @@ int set_temperature_target(struct thread_data *t, struct core_data *c, struct pk
        unsigned int tcc_default, tcc_offset;
        int cpu;
 
+       UNUSED(c);
+       UNUSED(p);
+
        /* tj_max is used only for dts or ptm */
        if (!(do_dts || do_ptm))
                return 0;
@@ -5674,11 +5758,6 @@ int dir_filter(const struct dirent *dirp)
                return 0;
 }
 
-int open_dev_cpu_msr(int dummy1)
-{
-       return 0;
-}
-
 void topology_probe()
 {
        int i;