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

From: Ian Rogers
Date: Thu May 02 2024 - 00:01:39 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.

v4: add checks to write (kernel test robot) and fix a typo.

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 | 468 ++++++++++++------
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, 416 insertions(+), 197 deletions(-)

--
2.45.0.rc0.197.gbae5840b3b-goog