diff options
author | Stephane Eranian <eranian@google.com> | 2011-05-17 09:36:19 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-05-17 14:45:36 -0400 |
commit | 94692349c4fc1bc74c19a28f9379509361a06a3b (patch) | |
tree | 005d42a398d973e1ec52e00512177dce1305e666 /tools | |
parent | 449a66fd1fa75d36dca917704827c40c8f416bca (diff) |
perf: Fix multi-event parsing bug
This patch fixes an issue with event parsing.
The following commit appears to have broken the
ability to specify a comma separated list of events:
commit ceb53fbf6dbb1df26d38379a262c6981fe73dd36
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Apr 27 04:06:33 2011 +0200
perf stat: Fail more clearly when an invalid modifier is specified
This patch fixes this while preserving the desired effect:
$ perf stat -e instructions:u,instructions:k ls /dev/null /dev/null
Performance counter stats for 'ls /dev/null':
365956 instructions:u # 0.00 insns per cycle
731806 instructions:k # 0.00 insns per cycle
0.001108862 seconds time elapsed
$ perf stat -e task-clock-msecs true
invalid event modifier: '-msecs'
Run 'perf list' for a list of valid events and modifiers
Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: acme@redhat.com
Cc: peterz@infradead.org
Cc: fweisbec@gmail.com
Link: http://lkml.kernel.org/r/20110517133619.GA6999@quad
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/util/parse-events.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index ffa493a24333..41982c373faf 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c | |||
@@ -734,6 +734,9 @@ parse_event_modifier(const char **strp, struct perf_event_attr *attr) | |||
734 | if (!*str) | 734 | if (!*str) |
735 | return 0; | 735 | return 0; |
736 | 736 | ||
737 | if (*str == ',') | ||
738 | return 0; | ||
739 | |||
737 | if (*str++ != ':') | 740 | if (*str++ != ':') |
738 | return -1; | 741 | return -1; |
739 | 742 | ||