[PATCH v3 0/5] Event parsing fixes
From: Ian Rogers
Date: Fri May 10 2024 - 01:38:14 EST
For the default events, parse from strings rather than use pre-cooked
perf_event_attr. This fixes non-x86 heterogeneous CPUs where legacy
hardware events wouldn't be opened for all PMUs. v2 was previously
just patch 3 but it is extended in v3 to incorporate related fixes.
When a sysfs/json event is used in preference to a legacy event, allow
evsel__match to still function using a saved hardware config
number. This fixes hard coded metrics in stat-shadow for events like
"instructions" on Intel that have a sysfs file.
Fix/improve uniquifying event names fixing the test "102: perf stat
metrics (shadow stat) test:" that was broken by a formatting issue
when the sysfs instructions event was used.
Having evsel->pmu_name and evsel->pmu->name is confusing, get rid of
the former. Fix/improve evsel__sys_has_perf_metrics in the process.
Ian Rogers (5):
perf evsel: Add alternate_hw_config and use in evsel__match
perf stat: Uniquify event name improvements
perf stat: Remove evlist__add_default_attrs use strings
perf evsel x86: Make evsel__has_perf_metrics work for legacy events
perf evsel: Remove pmu_name
tools/perf/arch/x86/util/evlist.c | 74 +-------
tools/perf/arch/x86/util/evsel.c | 35 +++-
tools/perf/builtin-diff.c | 6 +-
tools/perf/builtin-stat.c | 291 ++++++++++++------------------
tools/perf/tests/parse-events.c | 2 +-
tools/perf/util/evlist.c | 46 +----
tools/perf/util/evlist.h | 12 --
tools/perf/util/evsel.c | 28 ++-
tools/perf/util/evsel.h | 22 +--
tools/perf/util/metricgroup.c | 4 +-
tools/perf/util/parse-events.c | 52 ++++--
tools/perf/util/parse-events.h | 6 +
tools/perf/util/pmu.c | 6 +-
tools/perf/util/pmu.h | 2 +-
tools/perf/util/stat-display.c | 101 ++++++++---
tools/perf/util/stat-shadow.c | 14 +-
tools/perf/util/stat.c | 2 +-
17 files changed, 305 insertions(+), 398 deletions(-)
--
2.45.0.118.g7fe29c98d7-goog