LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andi Kleen <ak@linux.intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Agustin Vega-Frias <agustinv@codeaurora.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	David Ahern <dsahern@gmail.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Stephane Eranian <eranian@google.com>,
	Milian Wolff <milian.wolff@kdab.com>,
	Andi Kleen <andi@firstfloor.org>,
	Frederic Weisbecker <frederic@kernel.org>
Subject: [PATCH 01/10] perf tools: Uniquify the event name if there's no other matched event
Date: Thu,  7 Jun 2018 00:15:04 +0200	[thread overview]
Message-ID: <20180606221513.11302-2-jolsa@kernel.org> (raw)
In-Reply-To: <20180606221513.11302-1-jolsa@kernel.org>

Currently by default we try to match the user specified PMU
name to all PMU units available and use them to aggregate
all matched PMUs event counts into one 'pattern' event.

While this is useful for uncore events, it screws up names
for other events, where this is not desirable, like:

Before:
  # perf stat -e cp/cpu-cycles/ kill

   Performance counter stats for 'kill':

           1,573,757      cp/cpu-cycles/

Keeping the pattern matching logic, but making the name unique
in case there's no other match found. That fixes the example
above and hopefully does not screw up anything else.

After:
  # perf stat -e cp/cpu-cycles/ kill

   Performance counter stats for 'kill':

           1,573,757      cpu/cpu-cycles/

Cc: Andi Kleen <ak@linux.intel.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Agustin Vega-Frias <agustinv@codeaurora.org>
Link: http://lkml.kernel.org/n/tip-lpb7bmaj3szgmemf53yg4nke@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/builtin-stat.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 096ccb25c11f..fce46252f89c 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1323,6 +1323,7 @@ static void collect_all_aliases(struct perf_evsel *counter,
 			    void *data)
 {
 	struct perf_evsel *alias;
+	int cnt = 0;
 
 	alias = list_prepare_entry(counter, &(evsel_list->entries), node);
 	list_for_each_entry_continue (alias, &evsel_list->entries, node) {
@@ -1334,7 +1335,15 @@ static void collect_all_aliases(struct perf_evsel *counter,
 			break;
 		alias->merged_stat = true;
 		cb(alias, data, false);
+		cnt++;
 	}
+
+	/*
+	 * There's no matching event to aggregate
+	 * counts with, fix the event name
+	 */
+	if (!cnt)
+		uniquify_event_name(counter);
 }
 
 static bool collect_data(struct perf_evsel *counter,
-- 
2.13.6

  reply	other threads:[~2018-06-06 22:15 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-06 22:15 [RFC 00/10] perf: Add cputime events/metrics Jiri Olsa
2018-06-06 22:15 ` Jiri Olsa [this message]
2018-06-06 23:19   ` [PATCH 01/10] perf tools: Uniquify the event name if there's no other matched event Andi Kleen
2018-06-07  6:22     ` Jiri Olsa
2018-06-07 16:09       ` Stephane Eranian
2018-06-08  0:06         ` Jiri Olsa
2018-06-06 22:15 ` [PATCH 02/10] perf tools: Fix error index for pmu event parser Jiri Olsa
2018-06-07 18:53   ` Arnaldo Carvalho de Melo
2018-06-14  6:21   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-06-06 22:15 ` [PATCH 03/10] perf stat: Add --interval-clear option Jiri Olsa
2018-06-07 18:57   ` Arnaldo Carvalho de Melo
2018-06-14  6:21   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-06-06 22:15 ` [PATCH 04/10] perf stat: Use only color_fprintf call in print_metric_only Jiri Olsa
2018-06-07 19:00   ` Arnaldo Carvalho de Melo
2018-06-14  6:22   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-06-06 22:15 ` [PATCH 05/10] perf stat: Fix metric column display Jiri Olsa
2018-06-07 19:00   ` Arnaldo Carvalho de Melo
2018-06-14  6:22   ` [tip:perf/urgent] perf stat: Fix metric column header display alignment tip-bot for Jiri Olsa
2018-06-06 22:15 ` [PATCH 06/10] perf stat: Allow to specify specific metric column len Jiri Olsa
2018-06-14  6:23   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-06-06 22:15 ` [PATCH 07/10] perf stat: Add event parsing error handling to add_default_attributes Jiri Olsa
2018-06-07 19:04   ` Arnaldo Carvalho de Melo
2018-06-07 19:05     ` Arnaldo Carvalho de Melo
2018-06-14  6:23   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-06-06 22:15 ` [PATCH 08/10] perf/cputime: Add cputime pmu Jiri Olsa
2018-06-06 22:15 ` [PATCH 09/10] perf/cputime: Don't stop idle tick if there's live cputime event Jiri Olsa
2018-06-07 15:45   ` Andi Kleen
2018-06-07 16:01     ` Stephane Eranian
2018-06-08  0:12       ` Jiri Olsa
2018-06-06 22:15 ` [PATCH 10/10] perf stat: Add cputime metric support Jiri Olsa
2018-06-06 23:10 ` [RFC 00/10] perf: Add cputime events/metrics Andi Kleen
2018-09-26 14:44   ` Milian Wolff
2018-09-26 21:48     ` Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180606221513.11302-2-jolsa@kernel.org \
    --to=jolsa@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=agustinv@codeaurora.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andi@firstfloor.org \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=frederic@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=milian.wolff@kdab.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --subject='Re: [PATCH 01/10] perf tools: Uniquify the event name if there'\''s no other matched event' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).