Messages in this thread | | | From | Jiri Olsa <> | Subject | [PATCHv4 00/19] perf metric: Add support to reuse metric | Date | Wed, 29 Jul 2020 11:18:49 +0200 |
| |
hi, this patchset is adding the support to reused metric in another metric.
For example, to define IPC by using CPI with change like:
{ "BriefDescription": "Instructions Per Cycle (per Logical Processor)", - "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD", + "MetricExpr": "1/CPI", "MetricGroup": "TopDownL1", "MetricName": "IPC" },
I won't be able to find all the possible places we could use this at, so I wonder you guys (who was asking for this) would try it and come up with comments if there's something missing or we could already use it at some places.
It's based on Arnaldo's tmp.perf/core.
v4 changes: - removed acks from patch because it changed a bit with the last fixes: perf metric: Collect referenced metrics in struct metric_ref_node - fixed runtime metrics [Kajol Jain] - increased recursion depth [Paul A. Clarke] - changed patches due to dependencies: perf metric: Collect referenced metrics in struct metric_ref_node perf metric: Add recursion check when processing nested metrics perf metric: Rename struct egroup to metric perf metric: Rename group_list to metric_list
Also available in here: git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git perf/metric
thanks, jirka
--- Jiri Olsa (19): perf metric: Fix memory leak in expr__add_id function perf metric: Add expr__add_id function perf metric: Change expr__get_id to return struct expr_id_data perf metric: Add expr__del_id function perf metric: Add macros for iterating map events perf metric: Add add_metric function perf metric: Rename __metricgroup__add_metric to __add_metric perf metric: Collect referenced metrics in struct metric_ref_node perf metric: Collect referenced metrics in struct metric_expr perf metric: Add referenced metrics to hash data perf metric: Compute referenced metrics perf metric: Add events for the current list perf metric: Add cache_miss_cycles to metric parse test perf metric: Add DCache_L2 to metric parse test perf metric: Add recursion check when processing nested metrics perf metric: Make compute_single function more precise perf metric: Add metric group test perf metric: Rename struct egroup to metric perf metric: Rename group_list to metric_list
tools/perf/tests/parse-metric.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++---- tools/perf/util/expr.c | 143 ++++++++++++++++++++++++++++++++----- tools/perf/util/expr.h | 30 +++++++- tools/perf/util/expr.y | 16 +++-- tools/perf/util/metricgroup.c | 466 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ tools/perf/util/metricgroup.h | 6 ++ tools/perf/util/stat-shadow.c | 20 ++++-- 7 files changed, 751 insertions(+), 136 deletions(-)
| |