DRM clients expose information through usage stats as documented in Documentation/gpu/drm-usage-stats.rst (available online at https://docs.kernel.org/gpu/drm-usage-stats.html). Add a tool like PMU, similar to the hwmon PMU, that exposes DRM information.
v3: Minor tweak to the test so the skip (exit 2) doesn't trigger the trap cleanup. v2: Add support to only scan hwmon and drm PMUs if the event or PMU wildcard can match. Add a test as requested by Namhyung. Add file comments. v1: https://lore.kernel.org/lkml/20250211071727.364389-1-irog...@google.com/ Ian Rogers (4): perf parse-events: Avoid scanning PMUs that can't contain events perf parse-events: Avoid scanning PMUs that can't match a wildcard perf drm_pmu: Add a tool like PMU to expose DRM information perf tests: Add a DRM PMU test tools/perf/tests/shell/drm_pmu.sh | 78 ++++ tools/perf/util/Build | 1 + tools/perf/util/drm_pmu.c | 689 ++++++++++++++++++++++++++++++ tools/perf/util/drm_pmu.h | 39 ++ tools/perf/util/evsel.c | 9 + tools/perf/util/parse-events.c | 30 +- tools/perf/util/pmu.c | 15 + tools/perf/util/pmu.h | 4 +- tools/perf/util/pmus.c | 101 ++++- tools/perf/util/pmus.h | 2 + 10 files changed, 952 insertions(+), 16 deletions(-) create mode 100755 tools/perf/tests/shell/drm_pmu.sh create mode 100644 tools/perf/util/drm_pmu.c create mode 100644 tools/perf/util/drm_pmu.h -- 2.49.0.504.g3bcea36a83-goog