[PATCH v2 0/5] perf hwmon related improvements

Ian Rogers posted 5 patches 11 months ago
There is a newer version of this series
tools/perf/pmu-events/empty-pmu-events.c |   8 +-
tools/perf/pmu-events/jevents.py         |   8 +-
tools/perf/tests/pmu.c                   |  85 ++++----
tools/perf/util/evsel.c                  |   4 +-
tools/perf/util/evsel.h                  |   1 +
tools/perf/util/parse-events.c           |   2 +-
tools/perf/util/pmu.c                    | 252 ++++++++++++++++-------
tools/perf/util/pmu.h                    |   7 +-
tools/perf/util/pmus.c                   | 144 ++++++++-----
tools/perf/util/stat-display.c           | 111 +++++++---
tools/perf/util/stat.c                   |  13 +-
11 files changed, 418 insertions(+), 217 deletions(-)
[PATCH v2 0/5] perf hwmon related improvements
Posted by Ian Rogers 11 months ago
Try to do less scanning of files/directories with or without hwmon
PMUs. Don't merge all events with the same name, only merge those on
the same PMU ignoring suffix. Tidy PMU name matching to distinguish no
suffix or wildcard matching. Refactor uniquification so the evsels
with the same name as other evsels in the evlist are uniquified.

v2: Rename ignore suffix PMU name matching that is really a
    wildcard/prefix match. Use a proper ignore suffix when not merging
    counters purely on name.

Ian Rogers (5):
  perf evsel: Reduce scanning core PMUs in is_hybrid
  perf pmus: Restructure pmu_read_sysfs to scan fewer PMUs
  perf pmu: Rename name matching for no suffix or wildcard variants
  perf stat: Don't merge counters purely on name
  perf stat: Changes to event name uniquification

 tools/perf/pmu-events/empty-pmu-events.c |   8 +-
 tools/perf/pmu-events/jevents.py         |   8 +-
 tools/perf/tests/pmu.c                   |  85 ++++----
 tools/perf/util/evsel.c                  |   4 +-
 tools/perf/util/evsel.h                  |   1 +
 tools/perf/util/parse-events.c           |   2 +-
 tools/perf/util/pmu.c                    | 252 ++++++++++++++++-------
 tools/perf/util/pmu.h                    |   7 +-
 tools/perf/util/pmus.c                   | 144 ++++++++-----
 tools/perf/util/stat-display.c           | 111 +++++++---
 tools/perf/util/stat.c                   |  13 +-
 11 files changed, 418 insertions(+), 217 deletions(-)

-- 
2.48.1.262.g85cc9f2d1e-goog
Re: [PATCH v2 0/5] perf hwmon related improvements
Posted by Ian Rogers 10 months, 3 weeks ago
On Wed, Jan 22, 2025 at 11:47 PM Ian Rogers <irogers@google.com> wrote:
>
> Try to do less scanning of files/directories with or without hwmon
> PMUs. Don't merge all events with the same name, only merge those on
> the same PMU ignoring suffix. Tidy PMU name matching to distinguish no
> suffix or wildcard matching. Refactor uniquification so the evsels
> with the same name as other evsels in the evlist are uniquified.
>
> v2: Rename ignore suffix PMU name matching that is really a
>     wildcard/prefix match. Use a proper ignore suffix when not merging
>     counters purely on name.
>
> Ian Rogers (5):
>   perf evsel: Reduce scanning core PMUs in is_hybrid
>   perf pmus: Restructure pmu_read_sysfs to scan fewer PMUs
>   perf pmu: Rename name matching for no suffix or wildcard variants
>   perf stat: Don't merge counters purely on name
>   perf stat: Changes to event name uniquification

Hi, this series (v1 sent over 2 weeks ago) fixes broken event
aggregation where all events with the same name on different PMUs are
merged. For example, arm_cmn/cycles/ would be merged with
armv8_pmuv3/cycles/ if parsed through a glob. The bug was introduced
by:
https://lore.kernel.org/r/20221018020227.85905-16-namhyung@kernel.org
and the hope was this would be in v6.14 and the Fixes tag would see
the changes backported.

Thanks,
Ian

>  tools/perf/pmu-events/empty-pmu-events.c |   8 +-
>  tools/perf/pmu-events/jevents.py         |   8 +-
>  tools/perf/tests/pmu.c                   |  85 ++++----
>  tools/perf/util/evsel.c                  |   4 +-
>  tools/perf/util/evsel.h                  |   1 +
>  tools/perf/util/parse-events.c           |   2 +-
>  tools/perf/util/pmu.c                    | 252 ++++++++++++++++-------
>  tools/perf/util/pmu.h                    |   7 +-
>  tools/perf/util/pmus.c                   | 144 ++++++++-----
>  tools/perf/util/stat-display.c           | 111 +++++++---
>  tools/perf/util/stat.c                   |  13 +-
>  11 files changed, 418 insertions(+), 217 deletions(-)
>
> --
> 2.48.1.262.g85cc9f2d1e-goog
>