Re: [PATCH v3 0/3] perf list: Remove duplicate PMUs

From: Ian Rogers
Date: Wed Aug 23 2023 - 19:34:48 EST


On Mon, Aug 14, 2023 at 9:38 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> When there are multiple PMUs, differing by ordered suffixes, by
> default only display one. This avoids repeated listing of events, in
> particular when there are 10s of uncore PMUs. If "-v" is passed to
> "perf list" then still list all PMUs.
>
> Listing fewer PMU/event combinations helps speed the all PMU event
> tests.
>
> Before:
> ```
> $ perf list
> ...
> uncore_imc_free_running_0/data_read/ [Kernel PMU event]
> uncore_imc_free_running_0/data_total/ [Kernel PMU event]
> uncore_imc_free_running_0/data_write/ [Kernel PMU event]
> uncore_imc_free_running_1/data_read/ [Kernel PMU event]
> uncore_imc_free_running_1/data_total/ [Kernel PMU event]
> uncore_imc_free_running_1/data_write/ [Kernel PMU event]
> ```
>
> After:
> ```
> $ perf list
> ...
> uncore_imc_free_running/data_read/ [Kernel PMU event]
> uncore_imc_free_running/data_total/ [Kernel PMU event]
> uncore_imc_free_running/data_write/ [Kernel PMU event]
> ...
> $ perf list -v
> ...
> uncore_imc_free_running_0/data_read/ [Kernel PMU event]
> uncore_imc_free_running_0/data_total/ [Kernel PMU event]
> uncore_imc_free_running_0/data_write/ [Kernel PMU event]
> uncore_imc_free_running_1/data_read/ [Kernel PMU event]
> uncore_imc_free_running_1/data_total/ [Kernel PMU event]
> uncore_imc_free_running_1/data_write/ [Kernel PMU event]
> ...
> ```
>
> The PMUs are sorted by name then suffix as a part of this change.
>
> v3: Add detail to patch 1 sorting commit message about the suffix and
> why sorting is necessary.
> v2: List all PMUs when "-v" is passed as suggested by John Garry
> <john.g.garry@xxxxxxxxxx>.
>
> Ian Rogers (3):
> perf pmus: Sort pmus by name then suffix
> perf pmus: Add scan that ignores duplicates, use for perf list
> perf pmus: Don't print duplicate PMU suffix in list by default

Ping. Thanks,
Ian

> tools/perf/builtin-list.c | 8 +++
> tools/perf/util/pmus.c | 120 +++++++++++++++++++++++++++++++--
> tools/perf/util/print-events.h | 1 +
> 3 files changed, 122 insertions(+), 7 deletions(-)
>
> --
> 2.41.0.640.ga95def55d0-goog
>