[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161017112653.GB24552@krava>
Date: Mon, 17 Oct 2016 13:26:53 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Andi Kleen <andi@...stfloor.org>
Cc: acme@...nel.org, jolsa@...nel.org, sukadev@...ux.vnet.ibm.com,
eranian@...gle.com, linux-kernel@...r.kernel.org,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH 07/10] perf, tools: Collapse identically named events in
perf stat
On Thu, Oct 13, 2016 at 02:15:29PM -0700, Andi Kleen wrote:
SNIP
> --------
>
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index 688dea7cb08f..76304f27c090 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -140,6 +140,7 @@ static unsigned int unit_width = 4; /* strlen("unit") */
> static bool forever = false;
> static bool metric_only = false;
> static bool force_metric_only = false;
> +static bool no_merge = false;
> static struct timespec ref_time;
> static struct cpu_map *aggr_map;
> static aggr_get_id_t aggr_get_id;
> @@ -1178,11 +1179,59 @@ static void aggr_update_shadow(void)
> }
> }
>
> +static void collect_aliases(struct perf_evsel *counter,
> + void (*cb)(struct perf_evsel *counter, void *data,
> + bool first),
> + void *data)
merges_stats might be better name
> +{
> + struct perf_evsel *alias;
> +
> + alias = list_prepare_entry(counter, &(evsel_list->entries), node);
> + cb(counter, data, true);
> + if (no_merge)
> + return;
please put this decision (no_merge) outside this function,
so the normal path is straight
this leads to my next question: why this merging should be default?
it seems to make sense just for uncore events
thanks,
jirka
Powered by blists - more mailing lists