Re: [PATCH] perf, tools: Handle events including .c and .o

From: Andi Kleen
Date: Sun Sep 18 2016 - 10:52:23 EST


On Sun, Sep 18, 2016 at 11:03:27AM +0200, Jiri Olsa wrote:
> On Sat, Sep 17, 2016 at 06:02:46PM -0700, Andi Kleen wrote:
> > From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> >
> > This is a generic bug fix, but it helps with Sukadev's JSON event tree
> > where such events can happen.
> >
> > Any event inclduing a .c/.o/.bpf currently triggers BPF compilation or loading
> > and then an error. This can happen for some Intel JSON events, which cannot
> > be used.
> >
> > Fix the scanner to only match for .o or .c or .bpf at the end.
> > This will prevent loading multiple BPF scripts separated with comma,
> > but I assume this is acceptable.
> >
> > Cc: wangnan0@xxxxxxxxxx
> > Cc: sukadev@xxxxxxxxxxxxxxxxxx
> > Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> > ---
> > tools/perf/util/parse-events.l | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
> > index 7a2519435da0..64ca26e4ed2d 100644
> > --- a/tools/perf/util/parse-events.l
> > +++ b/tools/perf/util/parse-events.l
> > @@ -162,8 +162,8 @@ modifier_bp [rwx]{1,3}
> > }
> >
> > {event_pmu} |
> > -{bpf_object} |
> > -{bpf_source} |
> > +({bpf_object}$) |
> > +({bpf_source}$) |
>
> why are the () braces necessary? anyway:

Flex complains otherwise, I think because it's used with OR (|)

-Andi