[PATCH v2 0/8] New function and literals for metrics

From: Ian Rogers
Date: Wed Nov 10 2021 - 19:21:20 EST


Add a test for hyphenated events that are common with Intel's icelake
topdown events.

Try to tidy the existing cputopo code and make it more consistent with
the sysfs ABI. Refactor the #smt_on literal parsing into a general
literal token that we can use for more literals. This is then used for
num_cpus, num_cores, num_dies and num_packages literals that use the
existing topology code. Finally, a source_count function is added
which is used to determine the number of events contributing to an
aggregate event. The intent for these new literals and function is for
them to be used in upcoming metrics.

v2. Split the handle_id function refactor out of adding the
source_count function as suggested-by Jiri Olsa <jolsa@xxxxxxxxxx>.

Ian Rogers (8):
perf test: Add expr test for events with hyphens
perf cputopo: Update to use pakage_cpus
perf cputopo: Match die_siblings to topology ABI name
perf cputopo: Match thread_siblings to topology ABI name
perf expr: Add literal values starting with #
perf expr: Add metric literals for topology.
perf expr: Move ID handling to its own function
perf expr: Add source_count for aggregating events

tools/perf/tests/expr.c | 34 ++++++++++++++-
tools/perf/util/cputopo.c | 78 ++++++++++++++++++-----------------
tools/perf/util/cputopo.h | 33 ++++++++++++---
tools/perf/util/evsel.c | 12 ++++++
tools/perf/util/evsel.h | 1 +
tools/perf/util/expr.c | 65 ++++++++++++++++++++++++++---
tools/perf/util/expr.h | 4 ++
tools/perf/util/expr.l | 16 ++++++-
tools/perf/util/expr.y | 72 ++++++++++++++++++--------------
tools/perf/util/header.c | 20 ++++-----
tools/perf/util/stat-shadow.c | 7 +++-
11 files changed, 250 insertions(+), 92 deletions(-)

--
2.34.0.rc1.387.gb447b232ab-goog