Re: [PATCH RFC 2/9] perf metrics: Don't iter sys metrics if we already found a CPU match

From: John Garry
Date: Wed Jul 12 2023 - 05:39:58 EST


On 12/07/2023 06:40, Ian Rogers wrote:
A few points to make on this:
- Currently we don't have any same-named metrics like this, so not much
use in supporting it in the code (yet).
We have same named metrics for heterogeneous CPU PMUs:
https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/pmu-events/arch/x86/alderlake/adl-metrics.json?h=perf-tools-next*n304__;Iw!!ACWV5N9M2RV99hQ!MyvM7oyC6FgOVgDn2-Ot_TJNh4TF_VM9SlIVwv2AOTkJGdmDJ2NYf5WXh-yLcG1dRxLKdXWZVTzsoOo5yDk$ cpu_atom
https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/pmu-events/arch/x86/alderlake/adl-metrics.json?h=perf-tools-next*n1125__;Iw!!ACWV5N9M2RV99hQ!MyvM7oyC6FgOVgDn2-Ot_TJNh4TF_VM9SlIVwv2AOTkJGdmDJ2NYf5WXh-yLcG1dRxLKdXWZVTzsL1dVM3Q$ cpu_core


I meant that we have no same-named events for sys PMUs compared to uncore/CPU PMUs.

- Even if we had some same-named metrics, I am not sure if it even works
properly. Do we have any uncore PMU metrics which have same name as CPU
metrics?
So I was thinking IPC was a generic concept that would apply to a
co-processor on a network card, a GPU, etc.

- Further to the previous point, do we really want same-named metrics
for different PMUs in the future? I think event / metric names need to
be chosen carefully to avoid clash for other PMUs or keywords. For your
example, if I did ask for IPC metric, I'd like to be able to just know
I'm getting IPC metric for CPUs or some other PMUs, but not both.
At the moment if you request an event without a PMU, say instructions
retired, we will attempt to open the event on every PMU - legacy
events (PERF_TYPE_HARDWARE, PERF_TYPE_HW_CACHE) only try the core
PMUs. It would seem consistent if metrics tried to open on every PMU
like most events.

OK, fine. I can drop this change if you prefer. But, to reiterate my main point, I still think that there is not much point in looking for metrics which currently would not exist.

Thanks,
John