Re: [PATCH 3/6] perf, tools, stat: Support metrics in --per-core/socket mode

From: Andi Kleen
Date: Mon Feb 22 2016 - 11:52:11 EST


On Sun, Feb 21, 2016 at 06:15:35PM +0100, Jiri Olsa wrote:
> On Wed, Feb 17, 2016 at 02:44:02PM -0800, Andi Kleen wrote:
>
> SNIP
>
> > @@ -892,7 +908,10 @@ static void printout(int id, int nr, struct perf_evsel *counter, double uval,
> > struct perf_stat_output_ctx out;
> > struct outstate os = {
> > .fh = stat_config.output,
> > - .prefix = prefix ? prefix : ""
> > + .prefix = prefix ? prefix : "",
> > + .id = id,
> > + .nr = nr,
> > + .evsel = counter,
> > };
> > print_metric_t pm = print_metric_std;
> > void (*nl)(void *);
> > @@ -962,15 +981,38 @@ static void printout(int id, int nr, struct perf_evsel *counter, double uval,
> >
> > perf_stat__print_shadow_stats(counter, uval,
> > stat_config.aggr_mode == AGGR_GLOBAL ? 0 :
> > - cpu_map__id_to_cpu(id),
> > + first_shadow_cpu(counter, id),
>
> hum, IIUC you need to handle AGGR_NONE in here as well?

AFAIK it works. aggr_get_id in first_shadow_cpu and cpu_map__id_to_cpu
handle this case, right?

-Andi