Messages in this thread |  | | From | Ian Rogers <> | Date | Sat, 25 Jul 2020 09:40:55 -0700 | Subject | Re: [PATCH 1/2] perf tools: Allow r0x<HEX> event syntax |
| |
On Sat, Jul 25, 2020 at 5:20 AM Jiri Olsa <jolsa@kernel.org> wrote: > > Adding support to specify raw event with 'r0<HEX>' syntax within > pmu term syntax like: > > -e cpu/r0xdead/ > > It will be used to specify raw events in cases where they conflict > with real pmu terms, like 'read', which is valid raw event syntax, > but also a possible pmu term name as reported by Jin Yao. > > Reported-by: Jin Yao <yao.jin@linux.intel.com> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
> --- > tools/perf/Documentation/perf-list.txt | 1 + > tools/perf/tests/parse-events.c | 5 +++++ > tools/perf/util/parse-events.l | 1 + > 3 files changed, 7 insertions(+) > > diff --git a/tools/perf/Documentation/perf-list.txt b/tools/perf/Documentation/perf-list.txt > index 376a50b3452d..10ed539a8859 100644 > --- a/tools/perf/Documentation/perf-list.txt > +++ b/tools/perf/Documentation/perf-list.txt > @@ -119,6 +119,7 @@ It's also possible to use pmu syntax: > > perf record -e r1a8 -a sleep 1 > perf record -e cpu/r1a8/ ... > + perf record -e cpu/r0x1a8/ ... > > You should refer to the processor specific documentation for getting these > details. Some of them are referenced in the SEE ALSO section below. > diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c > index 895188b63f96..5aaddcb0058a 100644 > --- a/tools/perf/tests/parse-events.c > +++ b/tools/perf/tests/parse-events.c > @@ -1766,6 +1766,11 @@ static struct evlist_test test__events_pmu[] = { > .check = test__checkevent_raw_pmu, > .id = 4, > }, > + { > + .name = "software/r0x1a/", > + .check = test__checkevent_raw_pmu, > + .id = 4, > + }, > }; > > struct terms_test { > diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l > index 56912c9641f5..44c85fea5d00 100644 > --- a/tools/perf/util/parse-events.l > +++ b/tools/perf/util/parse-events.l > @@ -293,6 +293,7 @@ percore { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_PERCORE); } > aux-output { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_OUTPUT); } > aux-sample-size { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_SAMPLE_SIZE); } > r{num_raw_hex} { return raw(yyscanner); } > +r0x{num_raw_hex} { return raw(yyscanner); } > , { return ','; } > "/" { BEGIN(INITIAL); return '/'; } > {name_minus} { return str(yyscanner, PE_NAME); } > -- > 2.25.4 >
|  |