Re: [PATCH v3 0/2] perf pmus: Sort/merge/aggregate PMUs like mrvl_ddr_pmu

From: Robin Murphy
Date: Mon May 13 2024 - 10:36:05 EST


On 2024-05-10 8:15 pm, Ian Rogers wrote:
On Fri, May 10, 2024 at 11:13 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:

On Sat, May 4, 2024 at 8:16 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:

The mrvl_ddr_pmu is uncore and has a hexadecimal address
suffix. Current PMU sorting/merging code assumes uncore PMU names
start with uncore_ and have a decimal suffix. Add support for
hexadecimal suffixes and add tests.

v3. Rebase and move tests from pmus.c to the existing pmu.c.

Ian Rogers (2):
perf pmus: Sort/merge/aggregate PMUs like mrvl_ddr_pmu
perf tests: Add some pmu core functionality tests

Hi, these patches have been hanging around since March [1], it would
be nice to either be landing them or getting feedback on what to fix.

Thanks,
Ian

[1] https://lore.kernel.org/lkml/20240329064803.3058900-1-irogers@xxxxxxxxxx/

+Tuan Phan, Robin Murphy

Here is another PMU with the same suffix convention/issue:
https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/drivers/perf/arm_dmc620_pmu.c?h=perf-tools-next#n706

There are at least one or two more as well - certainly arm_smmuv3_pmu which I think may have been where this pattern first started. Now that we've finally done the right thing with the parent mechanism to provide a user-visible relationship of PMU instances to their corresponding Devicetree/ACPI devices, hopefully we can discourage any further use of this rather clunky trick of using the MMIO address as an identifier in the PMU name. However there's then also stuff like dwc_pcie_pmu which encodes a PCI ID as a hex suffix, so understanding hex suffixes in general might still be a reasonable idea for the tool, if the alternative would be maintaining a list of specific prefixes (even if that would be hoped to remain fairly small).

Thanks,
Robin.