On Wed, Apr 09, 2014 at 04:21:58PM +0200, Christian Borntraeger wrote: > From: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> > > Trace events potentially can have a '-' in their trace system name, > e.g. kvm on s390 defines kvm-s390:* tracepoints. > tools/perf could not parse them, because there was no rule for this: > $ sudo ./perf top -e "kvm-s390:*" > invalid or unsupported event: 'kvm-s390:*' > > This patch allows '-' to be a part of PE_NAME token, so tracepoints > with '-' can be parsed by the event_legacy_tracepoint rule. > Without the patch, perf will not accept such tracepoints in the -e > option. > > Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> > --- > tools/perf/util/parse-events.l | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l > index 3432995..ca20da7 100644 > --- a/tools/perf/util/parse-events.l > +++ b/tools/perf/util/parse-events.l > @@ -199,7 +199,7 @@ r{num_raw_hex} { return raw(yyscanner); } > {num_hex} { return value(yyscanner, 16); } > > {modifier_event} { return str(yyscanner, PE_MODIFIER_EVENT); } > -{name} { return str(yyscanner, PE_NAME); } > +{name_minus} { return str(yyscanner, PE_NAME); } > "/" { BEGIN(config); return '/'; } > - { return '-'; } > , { BEGIN(event); return ','; } this breaks parsing of cache events like: $ perf record -e 'L1-dcache-loads' ls also test 10 (same issue): $ ./perf test 10 10: roundtrip evsel->name check : FAILED! it might be little tricky to fix, let me know if you have any troubles with that, I could look on it thanks, jirka -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html