[PATCH v4 0/4] Add support for cpu event term
From: Ian Rogers
Date: Wed Jan 08 2025 - 00:34:53 EST
Being able to set the cpu mask per event was discussed in the context
of a sysfs event.cpus file is discussed here:
https://lore.kernel.org/lkml/CAP-5=fXXuWchzUK0n5KTH8kamr=DQoEni+bUoo8f-4j8Y+eMBg@xxxxxxxxxxxxxx/
Ultimately Kan preferred to have multiple PMUs with a cpumask each
rather than an event.cpus file per event. It is still useful to have
the cpu event term and so the sysfs part of the original patch series
is dropped.
v4: Add the stat-display output change for zero counters Namhyung
requested as part of the series:
https://lore.kernel.org/lkml/Zvx9VbJWtmkcuSBs@xxxxxxxxxx/
This skips zero values for CPUs not in the evsel's cpumask rather
than the evsel's PMU's cpumask.
v3: Drop sysfs event.cpus file support patch from series. Reference
to using cpu to modify uncore events is dropped from the commit
message. Reference counting issues on the cpumap are addressed.
v2: Add support for multiple cpu terms on an event that are
merged. For example, an event of "l1d-misses/cpu=4,cpu=5/" will
now be opened on both CPU 4 and 5 rather than just CPU 4.
Ian Rogers (4):
libperf cpumap: Add ability to create CPU from a single CPU number
perf stat: Use counter cpumask to skip zero values
perf parse-events: Set is_pmu_core for legacy hardware events
perf parse-events: Add "cpu" term to set the CPU an event is recorded
on
tools/lib/perf/cpumap.c | 10 +++
tools/lib/perf/include/perf/cpumap.h | 2 +
tools/perf/Documentation/perf-list.txt | 9 ++
tools/perf/tests/event_update.c | 1 +
tools/perf/util/evsel_config.h | 1 +
tools/perf/util/parse-events.c | 113 ++++++++++++++++++-------
tools/perf/util/parse-events.h | 3 +-
tools/perf/util/parse-events.l | 1 +
tools/perf/util/pmu.c | 3 +-
tools/perf/util/stat-display.c | 21 +++--
10 files changed, 125 insertions(+), 39 deletions(-)
--
2.47.1.613.gc27f4b7a9f-goog