[RFC PATCH v4 00/15] Perf stat metric grouping with hardware information

From: weilin . wang
Date: Thu Feb 08 2024 - 22:14:59 EST


From: Weilin Wang <weilin.wang@xxxxxxxxx>

Changes in v4:
- Update bitmap operation functions [Kan, Ian]
- Move data struct definitions to metricgroup.c for smaller scope [Ian]
- Update variable names and comments for better readbility [Ian]
- Exclude JSON files from this patch. A seperate patch set with complete set of
JSON files will be submitted soon.

v3: https://lore.kernel.org/all/20231212230224.1473300-1-weilin.wang@xxxxxxxxx/

Weilin Wang (15):
perf stat: Add new field in stat_config to enable hardware aware
grouping.
perf stat: Add basic functions for the hardware aware grouping
perf pmu-events: Add functions in jevent.py to parse counter and event
info for hardware aware grouping
find_bit: add _find_last_and_bit() to support finding the most
significant set bit
perf stat: Add functions to set counter bitmaps for hardware-grouping
method
perf stat: Add functions to get counter info
perf stat: Add functions to create new group and assign events into
groups
perf stat: Add build string function and topdown events handling in
hardware-grouping
perf stat: Add function to handle special events in hardware-grouping
perf stat: Add function to combine metrics for hardware-grouping
perf stat: Handle taken alone in hardware-grouping
perf stat: Handle NMI in hardware-grouping
perf stat: Code refactoring in hardware-grouping
perf stat: Add tool events support in hardware-grouping
perf stat: Add hardware-grouping cmd option to perf stat

tools/include/linux/find.h | 18 +
tools/lib/find_bit.c | 33 +
tools/perf/builtin-stat.c | 7 +
tools/perf/pmu-events/jevents.py | 192 +++-
tools/perf/pmu-events/pmu-events.h | 35 +-
tools/perf/util/metricgroup.c | 1338 +++++++++++++++++++++++++---
tools/perf/util/metricgroup.h | 1 +
tools/perf/util/stat.h | 1 +
8 files changed, 1464 insertions(+), 161 deletions(-)

--
2.42.0