OSDN Git Service

perf pmu: Remove mostly unused 'struct perf_pmu' 'is_hybrid' member
authorIan Rogers <irogers@google.com>
Mon, 14 Nov 2022 21:07:14 +0000 (13:07 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 15 Nov 2022 13:15:24 +0000 (10:15 -0300)
Replace usage with perf_pmu__is_hybrid().

Suggested-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Caleb Biggers <caleb.biggers@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Perry Taylor <perry.taylor@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Sandipan Das <sandipan.das@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Weilin Wang <weilin.wang@intel.com>
Cc: Xin Gao <gaoxin@cdjrlc.com>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: http://lore.kernel.org/lkml/20221114210723.2749751-2-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evsel.c
tools/perf/util/evsel.h
tools/perf/util/pmu.c
tools/perf/util/pmu.h
tools/perf/util/stat.c

index cdde5b5..ca6abb6 100644 (file)
@@ -3124,11 +3124,8 @@ void evsel__zero_per_pkg(struct evsel *evsel)
        }
 }
 
-bool evsel__is_hybrid(struct evsel *evsel)
+bool evsel__is_hybrid(const struct evsel *evsel)
 {
-       if (evsel->pmu)
-               return evsel->pmu->is_hybrid;
-
        return evsel->pmu_name && perf_pmu__is_hybrid(evsel->pmu_name);
 }
 
index 989865e..467bb0b 100644 (file)
@@ -498,7 +498,7 @@ struct perf_env *evsel__env(struct evsel *evsel);
 int evsel__store_ids(struct evsel *evsel, struct evlist *evlist);
 
 void evsel__zero_per_pkg(struct evsel *evsel);
-bool evsel__is_hybrid(struct evsel *evsel);
+bool evsel__is_hybrid(const struct evsel *evsel);
 struct evsel *evsel__leader(struct evsel *evsel);
 bool evsel__has_leader(struct evsel *evsel, struct evsel *leader);
 bool evsel__is_leader(struct evsel *evsel);
index 6a86e6a..48e7be6 100644 (file)
@@ -980,7 +980,6 @@ static struct perf_pmu *pmu_lookup(const char *lookup_name)
        pmu->is_uncore = pmu_is_uncore(name);
        if (pmu->is_uncore)
                pmu->id = pmu_id(name);
-       pmu->is_hybrid = is_hybrid;
        pmu->max_precise = pmu_max_precise(name);
        pmu_add_cpu_aliases(&aliases, pmu);
        pmu_add_sys_aliases(&aliases, pmu);
@@ -992,7 +991,7 @@ static struct perf_pmu *pmu_lookup(const char *lookup_name)
        list_splice(&aliases, &pmu->aliases);
        list_add_tail(&pmu->list, &pmus);
 
-       if (pmu->is_hybrid)
+       if (is_hybrid)
                list_add_tail(&pmu->hybrid_list, &perf_pmu__hybrid_pmus);
 
        pmu->default_config = perf_pmu__get_default_config(pmu);
index 68e15c3..0d556d0 100644 (file)
@@ -40,7 +40,6 @@ struct perf_pmu {
        __u32 type;
        bool selectable;
        bool is_uncore;
-       bool is_hybrid;
        bool auxtrace;
        int max_precise;
        struct perf_event_attr *default_config;
index 3a432a9..acf0edf 100644 (file)
@@ -604,15 +604,10 @@ static void evsel__merge_aliases(struct evsel *evsel)
        }
 }
 
-static bool evsel__should_merge_hybrid(struct evsel *evsel, struct perf_stat_config *config)
+static bool evsel__should_merge_hybrid(const struct evsel *evsel,
+                                      const struct perf_stat_config *config)
 {
-       struct perf_pmu *pmu;
-
-       if (!config->hybrid_merge)
-               return false;
-
-       pmu = evsel__find_pmu(evsel);
-       return pmu && pmu->is_hybrid;
+       return config->hybrid_merge && evsel__is_hybrid(evsel);
 }
 
 static void evsel__merge_stats(struct evsel *evsel, struct perf_stat_config *config)