lkml.org 
[lkml]   [2021]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[PATCH v3 47/48] perf stat: Correct first_shadow_cpu to return index
From
perf_stat__update_shadow_stats and perf_stat__print_shadow_stats use a
cpu map index rather than a CPU, but first_shadow_cpu is returning the
wrong value for this. Change first_shadow_cpu to
first_shadow_cpu_map_idx to make things agree.

Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/util/stat-display.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
index 0f192360b6c6..ba95379efcfb 100644
--- a/tools/perf/util/stat-display.c
+++ b/tools/perf/util/stat-display.c
@@ -327,24 +327,23 @@ static void print_metric_header(struct perf_stat_config *config,
fprintf(os->fh, "%*s ", config->metric_only_len, unit);
}

-static int first_shadow_cpu(struct perf_stat_config *config,
- struct evsel *evsel, const struct aggr_cpu_id *id)
+static int first_shadow_cpu_map_idx(struct perf_stat_config *config,
+ struct evsel *evsel, const struct aggr_cpu_id *id)
{
- struct perf_cpu_map *cpus;
+ struct perf_cpu_map *cpus = evsel__cpus(evsel);
int cpu, idx;

if (config->aggr_mode == AGGR_NONE)
- return id->cpu;
+ return perf_cpu_map__idx(cpus, id->cpu);

if (!config->aggr_get_id)
return 0;

- cpus = evsel__cpus(evsel);
perf_cpu_map__for_each_cpu(cpu, idx, cpus) {
struct aggr_cpu_id cpu_id = config->aggr_get_id(config, cpu);

if (aggr_cpu_id__equal(&cpu_id, id))
- return cpu;
+ return idx;
}
return 0;
}
@@ -503,7 +502,7 @@ static void printout(struct perf_stat_config *config, struct aggr_cpu_id id, int
}

perf_stat__print_shadow_stats(config, counter, uval,
- first_shadow_cpu(config, counter, &id),
+ first_shadow_cpu_map_idx(config, counter, &id),
&out, &config->metric_events, st);
if (!config->csv_output && !config->metric_only) {
print_noise(config, counter, noise);
@@ -532,7 +531,7 @@ static void aggr_update_shadow(struct perf_stat_config *config,
val += perf_counts(counter->counts, idx, 0)->val;
}
perf_stat__update_shadow_stats(counter, val,
- first_shadow_cpu(config, counter, &id),
+ first_shadow_cpu_map_idx(config, counter, &id),
&rt_stat);
}
}
--
2.34.1.448.ga2b2bfdf31-goog
\
 
 \ /
  Last update: 2021-12-30 08:24    [W:0.265 / U:0.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site