[PATCH v3 0/6] Assume sysfs event names are always the same case

From: Ian Rogers
Date: Mon Apr 29 2024 - 16:02:51 EST


By assuming sysfs events are either upper or lower case, the case
insensitive event parsing can probe for the existence of files rather
then loading all events in a directory. When the event is a json event
like inst_retired.any on Intel, this reduces the number of openat
calls on a Tigerlake laptop from 325 down to 255.

v1 sent as an RFC:
https://lore.kernel.org/lkml/20240413040812.4042051-1-irogers@xxxxxxxxxx/

v2: addresses review feedback from Kan Liang, by updating
documentation and adding tests.

v3: incorporate feedback from Thomas Richter <tmricht@xxxxxxxxxxxxx>
that s390 event names are all upper case. Do a lower case probe
then an upper case probe, make documentation and tests also agree.

Ian Rogers (6):
perf test pmu-events: Make it clearer that pmu-events tests json
events
perf Document: Sysfs event names must be lower or upper case
perf test pmu: Refactor format test and exposed test APIs
perf test pmu: Add an eagerly loaded event test
perf test pmu: Test all sysfs PMU event names are the same case
perf pmu: Assume sysfs events are always the same case

.../sysfs-bus-event_source-devices-events | 6 +
tools/perf/tests/pmu-events.c | 2 +-
tools/perf/tests/pmu.c | 457 ++++++++++++------
tools/perf/util/parse-events.c | 2 +-
tools/perf/util/parse-events.h | 2 +-
tools/perf/util/pmu.c | 111 +++--
tools/perf/util/pmu.h | 4 +-
tools/perf/util/pmus.c | 16 +-
tools/perf/util/pmus.h | 2 +
9 files changed, 405 insertions(+), 197 deletions(-)

--
2.44.0.769.g3c40516874-goog