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

From: Jiri Olsa
Date: Sun Mar 05 2017 - 12:10:37 EST


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