[tip:perf/stat] perf tools: Accept case-insensitive symbolic event variants

From: tip-bot for Ingo Molnar
Date: Wed Apr 27 2011 - 12:00:34 EST


Commit-ID: b908debd4eef91471016138569f7a9e292be682e
Gitweb: http://git.kernel.org/tip/b908debd4eef91471016138569f7a9e292be682e
Author: Ingo Molnar <mingo@xxxxxxx>
AuthorDate: Wed, 27 Apr 2011 03:55:40 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Tue, 26 Apr 2011 20:04:55 +0200

perf tools: Accept case-insensitive symbolic event variants

We currently fail on something like '-e CPU-migrations', with:

invalid or unsupported event: 'CPU-migrations'

While 'CPU-migrations' is how we actually print out the event
in the default perf stat output:

Performance counter stats for 'true':

0.202204 task-clock-msecs # 0.282 CPUs
0 context-switches # 0.000 M/sec
0 CPU-migrations # 0.000 M/sec

So change the matching to be case-insensitive.

Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Acked-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-omcm3edjjtx83a4kh2e244se@xxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
tools/perf/util/parse-events.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 1869e4c..8e54bdb 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -649,13 +649,15 @@ static int check_events(const char *str, unsigned int i)
int n;

n = strlen(event_symbols[i].symbol);
- if (!strncmp(str, event_symbols[i].symbol, n))
+ if (!strncasecmp(str, event_symbols[i].symbol, n))
return n;

n = strlen(event_symbols[i].alias);
- if (n)
- if (!strncmp(str, event_symbols[i].alias, n))
+ if (n) {
+ if (!strncasecmp(str, event_symbols[i].alias, n))
return n;
+ }
+
return 0;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/