perf stat: Correct variable name for read counter
authorIan Rogers <irogers@google.com>
Wed, 5 Jan 2022 06:13:39 +0000 (22:13 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 12 Jan 2022 17:28:23 +0000 (14:28 -0300)
Switch from cpu to cpu_map_idx to reduce confusion.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: John Garry <john.garry@huawei.com>
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: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Clarke <pc@us.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Riccardo Mancini <rickyman7@gmail.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Vineet Singh <vineet.singh@intel.com>
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: zhengjun.xing@intel.com
Link: https://lore.kernel.org/r/20220105061351.120843-37-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c
tools/perf/util/evsel.c
tools/perf/util/evsel.h

index ed993c20772f9999180fc04afc272e50d696cd0b..dfb8f7847e6c2d8eeaef023c4945daf5e4be71a6 100644 (file)
@@ -337,25 +337,25 @@ static int evsel__write_stat_event(struct evsel *counter, int cpu_map_idx, u32 t
                                           process_synthesized_event, NULL);
 }
 
-static int read_single_counter(struct evsel *counter, int cpu,
+static int read_single_counter(struct evsel *counter, int cpu_map_idx,
                               int thread, struct timespec *rs)
 {
        if (counter->tool_event == PERF_TOOL_DURATION_TIME) {
                u64 val = rs->tv_nsec + rs->tv_sec*1000000000ULL;
                struct perf_counts_values *count =
-                       perf_counts(counter->counts, cpu, thread);
+                       perf_counts(counter->counts, cpu_map_idx, thread);
                count->ena = count->run = val;
                count->val = val;
                return 0;
        }
-       return evsel__read_counter(counter, cpu, thread);
+       return evsel__read_counter(counter, cpu_map_idx, thread);
 }
 
 /*
  * Read out the results of a single counter:
  * do not aggregate counts across CPUs in system-wide mode
  */
-static int read_counter_cpu(struct evsel *counter, struct timespec *rs, int cpu)
+static int read_counter_cpu(struct evsel *counter, struct timespec *rs, int cpu_map_idx)
 {
        int nthreads = perf_thread_map__nr(evsel_list->core.threads);
        int thread;
@@ -369,24 +369,24 @@ static int read_counter_cpu(struct evsel *counter, struct timespec *rs, int cpu)
        for (thread = 0; thread < nthreads; thread++) {
                struct perf_counts_values *count;
 
-               count = perf_counts(counter->counts, cpu, thread);
+               count = perf_counts(counter->counts, cpu_map_idx, thread);
 
                /*
                 * The leader's group read loads data into its group members
                 * (via evsel__read_counter()) and sets their count->loaded.
                 */
-               if (!perf_counts__is_loaded(counter->counts, cpu, thread) &&
-                   read_single_counter(counter, cpu, thread, rs)) {
+               if (!perf_counts__is_loaded(counter->counts, cpu_map_idx, thread) &&
+                   read_single_counter(counter, cpu_map_idx, thread, rs)) {
                        counter->counts->scaled = -1;
-                       perf_counts(counter->counts, cpu, thread)->ena = 0;
-                       perf_counts(counter->counts, cpu, thread)->run = 0;
+                       perf_counts(counter->counts, cpu_map_idx, thread)->ena = 0;
+                       perf_counts(counter->counts, cpu_map_idx, thread)->run = 0;
                        return -1;
                }
 
-               perf_counts__set_loaded(counter->counts, cpu, thread, false);
+               perf_counts__set_loaded(counter->counts, cpu_map_idx, thread, false);
 
                if (STAT_RECORD) {
-                       if (evsel__write_stat_event(counter, cpu, thread, count)) {
+                       if (evsel__write_stat_event(counter, cpu_map_idx, thread, count)) {
                                pr_err("failed to write stat event\n");
                                return -1;
                        }
@@ -396,7 +396,7 @@ static int read_counter_cpu(struct evsel *counter, struct timespec *rs, int cpu)
                        fprintf(stat_config.output,
                                "%s: %d: %" PRIu64 " %" PRIu64 " %" PRIu64 "\n",
                                        evsel__name(counter),
-                                       cpu,
+                                       perf_cpu_map__cpu(evsel__cpus(counter), cpu_map_idx),
                                        count->val, count->ena, count->run);
                }
        }
index 2de569a1a272ccdda5f94532333d48d1a08b3e1f..8f539a81b30bde51ce550cb4ea4d1172e0fbdf04 100644 (file)
@@ -1476,11 +1476,11 @@ void evsel__compute_deltas(struct evsel *evsel, int cpu, int thread,
        count->run = count->run - tmp.run;
 }
 
-static int evsel__read_one(struct evsel *evsel, int cpu, int thread)
+static int evsel__read_one(struct evsel *evsel, int cpu_map_idx, int thread)
 {
-       struct perf_counts_values *count = perf_counts(evsel->counts, cpu, thread);
+       struct perf_counts_values *count = perf_counts(evsel->counts, cpu_map_idx, thread);
 
-       return perf_evsel__read(&evsel->core, cpu, thread, count);
+       return perf_evsel__read(&evsel->core, cpu_map_idx, thread, count);
 }
 
 static void evsel__set_count(struct evsel *counter, int cpu, int thread, u64 val, u64 ena, u64 run)
@@ -1530,7 +1530,7 @@ static int evsel__process_group_data(struct evsel *leader, int cpu, int thread,
        return 0;
 }
 
-static int evsel__read_group(struct evsel *leader, int cpu, int thread)
+static int evsel__read_group(struct evsel *leader, int cpu_map_idx, int thread)
 {
        struct perf_stat_evsel *ps = leader->stats;
        u64 read_format = leader->core.attr.read_format;
@@ -1551,42 +1551,42 @@ static int evsel__read_group(struct evsel *leader, int cpu, int thread)
                ps->group_data = data;
        }
 
-       if (FD(leader, cpu, thread) < 0)
+       if (FD(leader, cpu_map_idx, thread) < 0)
                return -EINVAL;
 
-       if (readn(FD(leader, cpu, thread), data, size) <= 0)
+       if (readn(FD(leader, cpu_map_idx, thread), data, size) <= 0)
                return -errno;
 
-       return evsel__process_group_data(leader, cpu, thread, data);
+       return evsel__process_group_data(leader, cpu_map_idx, thread, data);
 }
 
-int evsel__read_counter(struct evsel *evsel, int cpu, int thread)
+int evsel__read_counter(struct evsel *evsel, int cpu_map_idx, int thread)
 {
        u64 read_format = evsel->core.attr.read_format;
 
        if (read_format & PERF_FORMAT_GROUP)
-               return evsel__read_group(evsel, cpu, thread);
+               return evsel__read_group(evsel, cpu_map_idx, thread);
 
-       return evsel__read_one(evsel, cpu, thread);
+       return evsel__read_one(evsel, cpu_map_idx, thread);
 }
 
-int __evsel__read_on_cpu(struct evsel *evsel, int cpu, int thread, bool scale)
+int __evsel__read_on_cpu(struct evsel *evsel, int cpu_map_idx, int thread, bool scale)
 {
        struct perf_counts_values count;
        size_t nv = scale ? 3 : 1;
 
-       if (FD(evsel, cpu, thread) < 0)
+       if (FD(evsel, cpu_map_idx, thread) < 0)
                return -EINVAL;
 
        if (evsel->counts == NULL && evsel__alloc_counts(evsel) < 0)
                return -ENOMEM;
 
-       if (readn(FD(evsel, cpu, thread), &count, nv * sizeof(u64)) <= 0)
+       if (readn(FD(evsel, cpu_map_idx, thread), &count, nv * sizeof(u64)) <= 0)
                return -errno;
 
-       evsel__compute_deltas(evsel, cpu, thread, &count);
+       evsel__compute_deltas(evsel, cpu_map_idx, thread, &count);
        perf_counts_values__scale(&count, scale, NULL);
-       *perf_counts(evsel->counts, cpu, thread) = count;
+       *perf_counts(evsel->counts, cpu_map_idx, thread) = count;
        return 0;
 }
 
index 7cb7c9c77ab06c0d903c972008070b3110ee7ac1..c3db41282400b167a6a1e44da009fa74209b79e5 100644 (file)
@@ -333,32 +333,32 @@ static inline bool evsel__match2(struct evsel *e1, struct evsel *e2)
               (e1->core.attr.config == e2->core.attr.config);
 }
 
-int evsel__read_counter(struct evsel *evsel, int cpu, int thread);
+int evsel__read_counter(struct evsel *evsel, int cpu_map_idx, int thread);
 
-int __evsel__read_on_cpu(struct evsel *evsel, int cpu, int thread, bool scale);
+int __evsel__read_on_cpu(struct evsel *evsel, int cpu_map_idx, int thread, bool scale);
 
 /**
  * evsel__read_on_cpu - Read out the results on a CPU and thread
  *
  * @evsel - event selector to read value
- * @cpu - CPU of interest
+ * @cpu_map_idx - CPU of interest
  * @thread - thread of interest
  */
-static inline int evsel__read_on_cpu(struct evsel *evsel, int cpu, int thread)
+static inline int evsel__read_on_cpu(struct evsel *evsel, int cpu_map_idx, int thread)
 {
-       return __evsel__read_on_cpu(evsel, cpu, thread, false);
+       return __evsel__read_on_cpu(evsel, cpu_map_idx, thread, false);
 }
 
 /**
  * evsel__read_on_cpu_scaled - Read out the results on a CPU and thread, scaled
  *
  * @evsel - event selector to read value
- * @cpu - CPU of interest
+ * @cpu_map_idx - CPU of interest
  * @thread - thread of interest
  */
-static inline int evsel__read_on_cpu_scaled(struct evsel *evsel, int cpu, int thread)
+static inline int evsel__read_on_cpu_scaled(struct evsel *evsel, int cpu_map_idx, int thread)
 {
-       return __evsel__read_on_cpu(evsel, cpu, thread, true);
+       return __evsel__read_on_cpu(evsel, cpu_map_idx, thread, true);
 }
 
 int evsel__parse_sample(struct evsel *evsel, union perf_event *event,