On Fri, Mar 03, 2017 at 03:16:11PM -0800, Andi Kleen wrote: > On Fri, Mar 03, 2017 at 11:33:03AM +0100, Jiri Olsa wrote: > > 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); > > I added it at some point during debugging. I think it's > actually a nop here, but technically it's correct (we're > always supposed to remap) > > I can remove it, but it's really a small code cleanup.
please do, thanks jirka