[lkml]   [2020]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCHSET 0/9] perf tools: Fix various memory leaks

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,

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,

The patches are also available at 'perf/metric-fix-v1' branch on



Namhyung Kim (9):
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 | 26 ++++++++++++++++++--------
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, 67 insertions(+), 22 deletions(-)


 \ /
  Last update: 2020-09-07 05:46    [W:0.183 / U:1.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site