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

From: John Garry
Date: Tue Jul 11 2023 - 04:28:10 EST


On 11/07/2023 06:58, Ian Rogers wrote:
When there are multiple PMUs differing by ordered suffixes only
display one. This avoids repeated listing of events, in particular
when there are 10s of uncore PMUs. This also 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]

So with this change can we run something like:

perf stat -e uncore_imc_free_running/data_read/

?

If so, does that match all PMUs whose name beings with "uncore_imc_free_running" (and give aggregate result for those PMUs)?

Thanks,
John

```

The PMUs are sorted by name then suffix as a part of this change.

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 PMU suffix in list

tools/perf/util/pmus.c | 107 +++++++++++++++++++++++++++++++++++++++--
1 file changed, 102 insertions(+), 5 deletions(-)