From: Ian Rogers <irogers@google.com> To: Namhyung Kim <namhyung@kernel.org>, Jin Yao <yao.jin@linux.intel.com>, Andi Kleen <ak@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>, Jiri Olsa <jolsa@redhat.com>, Ingo Molnar <mingo@kernel.org>, Peter Zijlstra <a.p.zijlstra@chello.nl>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Stephane Eranian <eranian@google.com>, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCHSET v2 00/11] perf tools: Fix various memory leaks Date: Mon, 14 Sep 2020 22:15:11 -0700 Message-ID: <CAP-5=fXejVaQa9qfW66cY77qB962+jbe8tT5bsLoOOcFmODnWQ@mail.gmail.com> (raw) In-Reply-To: <20200915031819.386559-1-namhyung@kernel.org> On Mon, Sep 14, 2020 at 8:18 PM Namhyung Kim <namhyung@kernel.org> 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, Ian > * Changes from v1: > - Add 'Acked-by: Jiri' > > > The patches are also available at 'perf/metric-fix-v2' branch on > > git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git > > Thanks > Namhyung > > > Namhyung Kim (11): > perf metric: Fix some memory leaks > perf metric: Fix some memory leaks - part 2 > perf evlist: Fix cpu/thread map leak > perf parse-event: Fix cpu map leaks > perf parse-event: Fix memory leak in evsel->unit > perf test: Fix memory leaks in parse-metric test > perf metric: Release expr_parse_ctx after testing > perf metric: Free metric when it failed to resolve > perf metric: Do not free metric when failed to resolve > perf test: Free aliases for PMU event map aliases test > perf test: Free formats for perf pmu parse test > > tools/perf/tests/parse-metric.c | 14 ++++++++----- > tools/perf/tests/pmu-events.c | 5 +++++ > tools/perf/tests/pmu.c | 1 + > tools/perf/util/evlist.c | 11 ++++++++--- > tools/perf/util/metricgroup.c | 35 +++++++++++++++++++++++---------- > tools/perf/util/parse-events.c | 9 +++++++-- > tools/perf/util/pmu.c | 13 +++++++++++- > tools/perf/util/pmu.h | 2 ++ > tools/perf/util/stat-shadow.c | 8 +++++--- > 9 files changed, 74 insertions(+), 24 deletions(-) > > -- > 2.28.0.618.gf4bc123cb7-goog >
next prev parent reply index Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-15 3:18 Namhyung Kim 2020-09-15 3:18 ` [PATCH 01/11] perf metric: Fix some " Namhyung Kim 2020-09-15 11:58 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 02/11] perf metric: Fix some memory leaks - part 2 Namhyung Kim 2020-09-15 11:59 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 03/11] perf evlist: Fix cpu/thread map leak Namhyung Kim 2020-09-15 3:18 ` [PATCH 04/11] perf parse-event: Fix cpu map leaks Namhyung Kim 2020-09-15 12:18 ` Arnaldo Carvalho de Melo 2020-09-15 14:39 ` Namhyung Kim 2020-09-15 16:51 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 05/11] perf parse-event: Fix memory leak in evsel->unit Namhyung Kim 2020-09-15 12:19 ` Arnaldo Carvalho de Melo 2020-09-15 18:59 ` Ian Rogers 2020-09-15 19:56 ` David Malcolm 2020-09-16 7:12 ` Namhyung Kim 2020-09-16 18:37 ` Ian Rogers 2020-09-15 20:03 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 06/11] perf test: Fix memory leaks in parse-metric test Namhyung Kim 2020-09-15 12:23 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 07/11] perf metric: Release expr_parse_ctx after testing Namhyung Kim 2020-09-15 3:18 ` [PATCH 08/11] perf metric: Free metric when it failed to resolve Namhyung Kim 2020-09-15 12:24 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 09/11] perf metric: Do not free metric when " Namhyung Kim 2020-09-15 3:18 ` [PATCH 10/11] perf test: Free aliases for PMU event map aliases test Namhyung Kim 2020-09-15 7:37 ` John Garry 2020-09-15 11:57 ` Arnaldo Carvalho de Melo 2020-09-15 3:18 ` [PATCH 11/11] perf test: Free formats for perf pmu parse test Namhyung Kim 2020-09-15 5:15 ` Ian Rogers [this message] 2020-09-15 14:49 ` [PATCHSET v2 00/11] perf tools: Fix various memory leaks Namhyung Kim
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAP-5=fXejVaQa9qfW66cY77qB962+jbe8tT5bsLoOOcFmODnWQ@mail.gmail.com' \ --to=irogers@google.com \ --cc=a.p.zijlstra@chello.nl \ --cc=acme@kernel.org \ --cc=ak@linux.intel.com \ --cc=alexander.shishkin@linux.intel.com \ --cc=eranian@google.com \ --cc=jolsa@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=mingo@kernel.org \ --cc=namhyung@kernel.org \ --cc=yao.jin@linux.intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git