lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <94ecc9b1337d15fe4634da56cb428738@codeaurora.org>
Date:   Mon, 05 Mar 2018 15:10:43 -0500
From:   Agustin Vega-Frias <agustinv@...eaurora.org>
To:     Jiri Olsa <jolsa@...hat.com>
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 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?

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

Powered by Openwall GNU/*/Linux Powered by OpenVZ