perf stat: Use perf_cpu_map__for_each_cpu()
authorIan Rogers <irogers@google.com>
Wed, 5 Jan 2022 06:13:34 +0000 (22:13 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 12 Jan 2022 17:28:22 +0000 (14:28 -0300)
Correct in print_counter() where an index was being used as a cpu.

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-32-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/stat-display.c

index 7e933a8..0f19236 100644 (file)
@@ -4,6 +4,7 @@
 #include <linux/string.h>
 #include <linux/time64.h>
 #include <math.h>
+#include <perf/cpumap.h>
 #include "color.h"
 #include "counts.h"
 #include "evlist.h"
@@ -732,7 +733,7 @@ static void print_aggr(struct perf_stat_config *config,
                evlist__for_each_entry(evlist, counter) {
                        print_counter_aggrdata(config, counter, s,
                                               prefix, metric_only,
-                                              &first, -1);
+                                              &first, /*cpu=*/-1);
                }
                if (metric_only)
                        fputc('\n', output);
@@ -893,11 +894,11 @@ static void print_counter(struct perf_stat_config *config,
        FILE *output = config->output;
        u64 ena, run, val;
        double uval;
-       int cpu;
+       int idx, cpu;
        struct aggr_cpu_id id;
 
-       for (cpu = 0; cpu < evsel__nr_cpus(counter); cpu++) {
-               struct aggr_data ad = { .cpu_map_idx = cpu };
+       perf_cpu_map__for_each_cpu(cpu, idx, evsel__cpus(counter)) {
+               struct aggr_data ad = { .cpu_map_idx = idx };
 
                if (!collect_data(config, counter, counter_cb, &ad))
                        return;
@@ -1248,7 +1249,7 @@ static void print_percore(struct perf_stat_config *config,
 
                print_counter_aggrdata(config, counter, s,
                                       prefix, metric_only,
-                                      &first, -1);
+                                      &first, /*cpu=*/-1);
        }
 
        if (metric_only)