Hi Ian,

On Tue, Sep 15, 2020 at 2:15 PM Ian Rogers <[email protected]> wrote:
>
> On Mon, Sep 14, 2020 at 8:18 PM Namhyung Kim <[email protected]> wrote:
> >
> > Hello,
> >
> > I've found and fixed a bunch of memory leaks during perf pmu and
> > metric tests with address sanitizer.  Before this, the tests were
> > mostly failed due to the leaks since ASAN makes it return non-zero.
> >
> > Now I'm seeing no error with ASAN like below:
> >
> >   $ ./perf test pmu metric
> >    9: Parse perf pmu format                                 : Ok
> >   10: PMU events                                            :
> >   10.1: PMU event table sanity                              : Ok
> >   10.2: PMU event map aliases                               : Ok
> >   10.3: Parsing of PMU event table metrics                  : Skip (some 
> > metrics failed)
> >   10.4: Parsing of PMU event table metrics with fake PMUs   : Ok
> >   67: Parse and process metrics                             : Ok
> >
> > The failure in 10.3 seems due to parse errors like below:
> >
> >   Multiple errors dropping message: unknown term 'filter_opc' for pmu 
> > 'uncore_cbox_0'
> >   (valid terms: 
> > event,edge,inv,umask,cmask,config,config1,config2,name,period,freq,
> >                 
> > branch_type,time,call-graph,stack-size,no-inherit,inherit,max-stack,
> >                 
> > nr,no-overwrite,overwrite,driver-config,percore,aux-output,aux-sample-size)
> >
> >
> >   Parse event failed metric 'DRAM_Parallel_Reads' id 
> > 'arb/event=0x80,umask=0x2,thresh=1/'
> >     expr 'arb@event\=0x80\,umask\=0x2@ / 
> > arb@event\=0x80\,umask\=0x2\,thresh\=1@'
> >   Error string 'unknown term 'thresh' for pmu 'uncore_arb'' help
> >     'valid terms: 
> > event,edge,inv,umask,cmask,config,config1,config2,name,period,freq,
> >                   
> > branch_type,time,call-graph,stack-size,no-inherit,inherit,max-stack,
> >                   
> > nr,no-overwrite,overwrite,driver-config,percore,aux-output,aux-sample-size'
>
> The 10.3 failure seems to be a problem in the skl metric DRAM_Parallel_Reads:
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/pmu-events/arch/x86/skylake/skl-metrics.json?h=perf/core#n319
> arb@event\\=0x80\\,umask\\=0x2@ / arb@event\\=0x80\\,umask\\=0x2\\,thresh\\=1@
>
> The test failure message is:
> Parse event failed metric 'DRAM_Parallel_Reads' id
> 'arb/event=0x80,umask=0x2,thresh=1/' expr
> 'arb@event\=0x80\,umask\=0x2@ /
> arb@event\=0x80\,umask\=0x2\,thresh\=1@'
> Error string 'unknown term 'thresh' for pmu 'uncore_arb'' help 'valid
> terms: 
> event,edge,inv,umask,cmask,config,config1,config2,name,period,freq,branch_type,time,call-graph,stack-size,no-inherit,inherit,max-stack,nr,no-overwrite,overwrite,driver-config,percore,aux-output,aux-sample-size'
>
> The 01.org version of this from:
> https://download.01.org/perfmon/TMA_Metrics.xlsx
> is:
> UNC_ARB_TRK_OCCUPANCY.DATA_READ / UNC_ARB_TRK_OCCUPANCY.DATA_READ:c1
>
> It seems that :c1 has been translated into thresh=1 but that thresh
> doesn't exist as a format option (just "cmask edge event inv umask"
> are present). I wonder if Andi or Jin you could look into this broken
> metric?

Thanks for the explanation. It'd be nice if Intel folks can take a look..

Thanks
Namhyung

Reply via email to