[RFC PATCH v5 00/16] Perf stat metric grouping with hardware information

weilin.wang@intel.com posted 16 patches 1 year, 8 months ago
tools/include/linux/find.h         |   18 +
tools/lib/find_bit.c               |   33 +
tools/perf/builtin-stat.c          |    7 +
tools/perf/pmu-events/jevents.py   |  208 ++++-
tools/perf/pmu-events/pmu-events.h |   38 +-
tools/perf/util/metricgroup.c      | 1393 ++++++++++++++++++++++++----
tools/perf/util/metricgroup.h      |    1 +
tools/perf/util/stat.h             |    1 +
8 files changed, 1525 insertions(+), 174 deletions(-)
[RFC PATCH v5 00/16] Perf stat metric grouping with hardware information
Posted by weilin.wang@intel.com 1 year, 8 months ago
From: Weilin Wang <weilin.wang@intel.com>

Changes in v5:
- Update code about "TakenAlone" to use MSR value instead. Currently, MSR value
is used in string format. We are planning to improve this part (maybe use bitmap)
in future. [Ian]
- Update variable/JSON field names and comments for better readbility [Ian]
- Update metricgroup__build_event_string to also use get_too_event_str helper
function [Ian]

v4: https://lore.kernel.org/all/20240209031441.943012-1-weilin.wang@intel.com/


Weilin Wang (16):
  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: Add partial support on MSR 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: use tool event helper function in
    metricgroup__build_event_string
  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   |  208 ++++-
 tools/perf/pmu-events/pmu-events.h |   38 +-
 tools/perf/util/metricgroup.c      | 1393 ++++++++++++++++++++++++----
 tools/perf/util/metricgroup.h      |    1 +
 tools/perf/util/stat.h             |    1 +
 8 files changed, 1525 insertions(+), 174 deletions(-)

--
2.42.0