lkml.org 
[lkml]   [2022]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v4 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: 2022-01-05 07:18    [W:4.244 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site