[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180305215118.GB31349@krava>
Date: Mon, 5 Mar 2018 22:51:18 +0100
From: Jiri Olsa <jolsa@...hat.com>
To: Agustin Vega-Frias <agustinv@...eaurora.org>
Cc: Andi Kleen <ak@...ux.intel.com>, linux-kernel@...r.kernel.org,
linux-perf-users@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Namhyung Kim <namhyung@...nel.org>, timur@...eaurora.org
Subject: Re: [RFC V2 1/3] perf, tools: Support wildcards on pmu name in
dynamic pmu events
On Mon, Mar 05, 2018 at 03:10:43PM -0500, Agustin Vega-Frias wrote:
> On 2018-03-05 14:09, Jiri Olsa wrote:
> > 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
>
> Sounds good. I have a new version ready (see sample output below).
> But I wanted to ping about the other two patches before submitting.
> Any feedback on those?
the rest looks ok to me, so does the output below
thanks,
jirka
>
> Thanks,
> AgustÃn
>
> PS:
> Sample output:
>
> $ ./perf stat -a -e imc/umask=0x3,event=0x4/ --no-merge ls -l > /dev/null
>
> Performance counter stats for 'system wide':
>
> 2,613 uncore_imc_0/umask=0x3,event=0x4/
> 2,736 uncore_imc_1/umask=0x3,event=0x4/
> 2,671 uncore_imc_2/umask=0x3,event=0x4/
> 2,508 uncore_imc_3/umask=0x3,event=0x4/
> 2,439 uncore_imc_4/umask=0x3,event=0x4/
> 2,465 uncore_imc_5/umask=0x3,event=0x4/
>
> 0.004159243 seconds time elapsed
>
> $ ./perf stat -a -e *imc/umask=0x3,event=0x4/ --no-merge ls -l > /dev/null
>
> Performance counter stats for 'system wide':
>
> 2,704 uncore_imc_0/umask=0x3,event=0x4/
> 2,601 uncore_imc_1/umask=0x3,event=0x4/
> 2,625 uncore_imc_2/umask=0x3,event=0x4/
> 2,370 uncore_imc_3/umask=0x3,event=0x4/
> 2,485 uncore_imc_4/umask=0x3,event=0x4/
> 2,431 uncore_imc_5/umask=0x3,event=0x4/
>
> 0.002716763 seconds time elapsed
>
> $ ./perf stat -a -e imc*/umask=0x3,event=0x4/ --no-merge ls -l > /dev/null
>
> Performance counter stats for 'system wide':
>
> 1,294 uncore_imc_0/umask=0x3,event=0x4/
> 1,303 uncore_imc_1/umask=0x3,event=0x4/
> 1,242 uncore_imc_2/umask=0x3,event=0x4/
> 1,125 uncore_imc_3/umask=0x3,event=0x4/
> 1,137 uncore_imc_4/umask=0x3,event=0x4/
> 1,159 uncore_imc_5/umask=0x3,event=0x4/
>
> 0.002790441 seconds time elapsed
>
> $ ./perf stat -a -e *imc*/umask=0x3,event=0x4/ --no-merge ls -l > /dev/null
>
> Performance counter stats for 'system wide':
>
> 1,524 uncore_imc_0/umask=0x3,event=0x4/
> 1,508 uncore_imc_1/umask=0x3,event=0x4/
> 1,501 uncore_imc_2/umask=0x3,event=0x4/
> 1,405 uncore_imc_3/umask=0x3,event=0x4/
> 1,427 uncore_imc_4/umask=0x3,event=0x4/
> 1,450 uncore_imc_5/umask=0x3,event=0x4/
>
> 0.002720907 seconds time elapsed
>
> --
> Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm
> Technologies, Inc.
> Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux
> Foundation Collaborative Project.
Powered by blists - more mailing lists