2024-05-02 22:20:12

by Ian Rogers

[permalink] [raw]
Subject: [PATCH v5 0/6] Assume sysfs event names are always the same case

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



2024-05-03 20:09:42

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v5 0/6] Assume sysfs event names are always the same case

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

2024-05-06 15:35:33

by Thomas Richter

[permalink] [raw]
Subject: Re: [PATCH v5 0/6] Assume sysfs event names are always the same case

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