Re: [RFC V2 1/3] perf, tools: Support wildcards on pmu name in dynamic pmu events

From: Jiri Olsa
Date: Mon Mar 05 2018 - 14:09:46 EST


On Mon, Mar 05, 2018 at 10:08:18AM -0500, Agustin Vega-Frias wrote:
> On 2018-03-04 13:10, Jiri Olsa wrote:
> > On Sun, Mar 04, 2018 at 09:12:45AM -0800, Andi Kleen wrote:
> > > > > +#include <fnmatch.h>
> > > > > #include <linux/compiler.h>
> > > > > #include <linux/list.h>
> > > > > #include <linux/types.h>
> > > > > @@ -241,7 +242,7 @@ PE_NAME opt_event_config
> > > > > if (!strncmp(name, "uncore_", 7) &&
> > > > > strncmp($1, "uncore_", 7))
> > > > > name += 7;
> > > > > - if (!strncmp($1, name, strlen($1))) {
> > > > > + if (!strncmp($1, name, strlen($1)) || !fnmatch($1, name, 0)) {
> > > >
> > > > could we now get rid of the strncmp in here and keep the
> > > > glob matching only?
> > >
> > > That would break existing command lines. Not a good idea.
> >
> > I hoped that only you guys are using this and would rewrite your scripts
> > ;-)
> >
> > I had no idea there's fnmatch func before.. too bad, ok
> >
> > jirka
>
> An option to keep backward compatibility and consistency would be
> to wrap the pattern/string passed in *'s, that way we can just use
> fnmatch and have all the examples Jiri brought up work the same.
> With that in place we can actually also drop the explicit ignoring
> of the uncore_ prefix since the globbing would take care of that.

I don't mind the strcmp as such, I wanted to get rid of the wildcard
matching without using '*' ... but as Andi said it's been out
there and it's been a while, so let's keep it

but if there's a way to make it simpler, let's go for it

thanks,
jirka