Re: [PATCH 01/10] perf, tools, stat: Factor out callback for collecting event values

From: Jiri Olsa
Date: Fri Mar 03 2017 - 05:42:02 EST


On Tue, Feb 28, 2017 at 10:49:15PM -0800, Andi Kleen wrote:

SNIP

> +static void collect_data(struct perf_evsel *counter,
> + void (*cb)(struct perf_evsel *counter, void *data,
> + bool first),
> + void *data)
> +{
> + cb(counter, data, true);
> +}
> +
> +struct aggr_data {
> + u64 ena, run, val;
> + int id;
> + int nr;
> + int cpu;
> +};
> +
> +static void aggr_cb(struct perf_evsel *counter, void *data, bool first)
> +{
> + struct aggr_data *ad = data;
> + int cpu, cpu2, s2;
> +
> + for (cpu = 0; cpu < perf_evsel__nr_cpus(counter); cpu++) {
> + struct perf_counts_values *counts;
> +
> + cpu2 = perf_evsel__cpus(counter)->map[cpu];
> + s2 = aggr_get_id(evsel_list->cpus, cpu2);

that does not match the removed code.. why?
s2 = aggr_get_id(perf_evsel__cpus(counter), cpu);

jirka