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/[email protected]/
v2: addresses review feedback from Kan Liang, by updating
documentation and adding tests.
v3: incorporate feedback from Thomas Richter <[email protected]>
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.
v5: Add reviewed-by: Kan Liang and fix potential uninitialized use.
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 | 467 ++++++++++++------
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, 415 insertions(+), 197 deletions(-)
--
2.45.0.rc1.225.g2a3ae87e7f-goog
On Thu, May 02, 2024 at 02:35:01PM -0700, Ian Rogers wrote:
> 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.
Thanks, applied to perf-tools-next,
- Arnaldo
> v1 sent as an RFC:
> https://lore.kernel.org/lkml/[email protected]/
>
> v2: addresses review feedback from Kan Liang, by updating
> documentation and adding tests.
>
> v3: incorporate feedback from Thomas Richter <[email protected]>
> 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.
>
> v5: Add reviewed-by: Kan Liang and fix potential uninitialized use.
>
> 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 | 467 ++++++++++++------
> 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, 415 insertions(+), 197 deletions(-)
>
> --
> 2.45.0.rc1.225.g2a3ae87e7f-goog
On 5/2/24 23:35, Ian Rogers wrote:
> 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/[email protected]/
>
> v2: addresses review feedback from Kan Liang, by updating
> documentation and adding tests.
>
> v3: incorporate feedback from Thomas Richter <[email protected]>
> 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.
>
> v5: Add reviewed-by: Kan Liang and fix potential uninitialized use.
>
> 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 | 467 ++++++++++++------
> 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, 415 insertions(+), 197 deletions(-)
>
I run the perf test suite on s390 and it looks good!
Tested-by: Thomas Richter <[email protected]>
--
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Wolfgang Wendt
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294