Re: [PATCH v5 5/6] perf vendor events arm64: Update stall_slot workaround for N2 r0p3

From: James Clark
Date: Wed Aug 16 2023 - 05:17:07 EST




On 15/08/2023 10:40, John Garry wrote:
> On 11/08/2023 15:39, James Clark wrote:
>> N2 r0p3 doesn't require the workaround [1], so gating on (#slots - 5) no
>> longer works because all N2s have 5 slots. Add a new expression builtin
>> that allows calling strcmp_cpuid_str() and comparing CPUIDs in metric
>> formulas.
>>
>> In this case, the commented formula looks like this:
>>
>>    strcmp_cpuid_str(0x410fd493)        # greater than or equal to N2 r0p3
>>    | strcmp_cpuid_str(0x410fd490) ^ 1  # OR NOT any version of N2
>>
>> [1]:https://urldefense.com/v3/__https://gitlab.arm.com/telemetry-solution/telemetry-solution/-/blob/main/data/pmu/cpu/neoverse/neoverse-n2-r0p3.json__;!!ACWV5N9M2RV99hQ!MaXDALyhn3HmfLdPUZRKTItKxg73C-qP4aTNAAdFwzjW5cFEBTHtD-VyqBzUTFbXMvABB-daDD01AfI7um_BtA$ ; Signed-off-by: James Clark<james.clark@xxxxxxx>
>> ---
>>   tools/perf/arch/arm64/util/pmu.c               | 18 +-----------------
>>   .../arch/arm64/arm/neoverse-n2-v2/metrics.json |  8 ++++----
>>   tools/perf/pmu-events/metric.py                | 17 +++++++++++++++--
>>   tools/perf/util/expr.c                         | 18 ++++++++++++++++++
>>   tools/perf/util/expr.h                         |  1 +
>>   tools/perf/util/expr.l                         |  1 +
>>   tools/perf/util/expr.y                         |  8 +++++++-
>>   tools/perf/util/pmu.c                          | 17 +++++++++++++++++
>>   tools/perf/util/pmu.h                          |  1 +
>>   9 files changed, 65 insertions(+), 24 deletions(-)
>
> This patch looks ok, but I think that it would be better to separate out
> the metrics.json change into a separate patch.
>
Yep I thought about doing that, I can change it in the next version.

> Thanks,
> John