Messages in this thread | | | Date | Fri, 1 May 2020 10:33:21 -0700 | Subject | [PATCH v4 00/12] perf metric fixes and test | From | Ian Rogers <> |
| |
Add a test that all perf metrics (for your architecture) are parsable with the simple expression parser. Attempt to parse all events in metrics but only fail if the metric is for the current CPU. Fix bugs in the expr parser, x86 and powerpc metrics. Improve debug messages around add PMU config term failures.
v4 rebases after Kajol Jain's patches and fixes an asprintf warning. v3 adds parse event testing of ids and improves debug messages for add PMU. These messages are paticular visible with 'perf test 10 -vvv'. It moves the testing logic from tests/expr.c to tests/pmu-events.c as suggested by John Garry <john.garry@huawei.com>. v2 adds Fixes tags to commit messages for when broken metrics were first added. Adds a debug warning for division by zero in expr, and adds a workaround for id values in the expr test necessary for powerpc. It also fixes broken power8 and power9 metrics.
Ian Rogers (12): perf expr: unlimited escaped characters in a symbol perf metrics: fix parse errors in cascade lake metrics perf metrics: fix parse errors in skylake metrics perf expr: allow ',' to be an other token perf expr: increase max other perf expr: parse numbers as doubles perf expr: debug lex if debugging yacc perf metrics: fix parse errors in power8 metrics perf metrics: fix parse errors in power9 metrics perf expr: print a debug message for division by zero perf parse-events: expand add PMU error/verbose messages perf test: improve pmu event metric testing
tools/perf/arch/x86/util/intel-pt.c | 32 ++-- .../arch/powerpc/power8/metrics.json | 2 +- .../arch/powerpc/power9/metrics.json | 2 +- .../arch/x86/cascadelakex/clx-metrics.json | 10 +- .../arch/x86/skylakex/skx-metrics.json | 4 +- tools/perf/tests/builtin-test.c | 5 + tools/perf/tests/expr.c | 1 + tools/perf/tests/pmu-events.c | 156 +++++++++++++++++- tools/perf/tests/pmu.c | 4 +- tools/perf/tests/tests.h | 2 + tools/perf/util/expr.c | 1 + tools/perf/util/expr.h | 2 +- tools/perf/util/expr.l | 16 +- tools/perf/util/expr.y | 16 +- tools/perf/util/parse-events.c | 29 +++- tools/perf/util/pmu.c | 33 ++-- tools/perf/util/pmu.h | 2 +- 17 files changed, 262 insertions(+), 55 deletions(-)
-- 2.26.2.526.g744177e7f7-goog
| |