[PATCH 0/2] perf vendor events arm64: Add A720/A520 events/metrics

James Clark james.clark at linaro.org
Tue Feb 18 01:30:23 PST 2025



On 18/02/2025 12:41 am, Ian Rogers wrote:
> On Fri, Feb 14, 2025 at 2:02 AM James Clark <james.clark at linaro.org> wrote:
>>
>>
>>
>> On 14/02/2025 5:49 am, Yangyu Chen wrote:
>>>
>>>
>>>> On 14 Feb 2025, at 09:12, Namhyung Kim <namhyung at kernel.org> wrote:
>>>>
>>>> Hello,
>>>>
>>>> On Thu, Feb 13, 2025 at 11:11:01PM +0800, Yangyu Chen wrote:
>>>>> This patchset adds the perf JSON files for the Cortex-A720 and Cortex-A520
>>>>> processors. Some events have been tested on Raxda Orion 6 with Cix P1 SoC
>>>>> (8xA720 + 4xA520) running mainline Kernel with ACPI mode.
>>>>
>>>> I'm curious how the name of PMUs look like.  It is cortex_a720 (or a520)?
>>>
>>> The name of PMUs comes from Arm's documentation. I have included these
>>> links in each patch.
>>>
>>>> I remember there's a logic to check the length of hex digits at the end.
>>>>
>>>
>>> Could you provide more details about this?
>>>
>>>> Ian, are you ok with this?
>>>>
>>
>> I think they wouldn't be merged because they're core PMUs, so should be
>> fine? Even though they would otherwise be merged because they're more
>> than 3 hex digits.
> 
> Do we know the PMU names? If they are cortex_a520 and cortex_a720 then

It will be "armv9_cortex_a720" from this line:

   PMUV3_INIT_SIMPLE(armv9_cortex_a720)

> this comment at least reads a little stale:
> https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/pmus.c?h=perf-tools-next#n76
> ```
> /*
> * There is a '_{num}' suffix. For decimal suffixes any length
> * will do, for hexadecimal ensure more than 2 hex digits so
> * that S390's cpum_cf PMU doesn't match.
> */
> ```
> James is right that core PMUs aren't put on the same list as uncore/other PMUs.
> 
> Thanks,
> Ian
> 
>>>> Thanks,
>>>> Namhyung
>>>>
>>>>>
>>>>> Yangyu Chen (2):
>>>>>    perf vendor events arm64: Add Cortex-A720 events/metrics
>>>>>    perf vendor events arm64: Add Cortex-A520 events/metrics
>>>>>
>>>>> .../arch/arm64/arm/cortex-a520/bus.json       |  26 ++
>>>>> .../arch/arm64/arm/cortex-a520/exception.json |  18 +
>>>>> .../arm64/arm/cortex-a520/fp_operation.json   |  14 +
>>>>> .../arch/arm64/arm/cortex-a520/general.json   |   6 +
>>>>> .../arch/arm64/arm/cortex-a520/l1d_cache.json |  50 ++
>>>>> .../arch/arm64/arm/cortex-a520/l1i_cache.json |  14 +
>>>>> .../arch/arm64/arm/cortex-a520/l2_cache.json  |  46 ++
>>>>> .../arch/arm64/arm/cortex-a520/l3_cache.json  |  21 +
>>>>> .../arch/arm64/arm/cortex-a520/ll_cache.json  |  10 +
>>>>> .../arch/arm64/arm/cortex-a520/memory.json    |  58 +++
>>>>> .../arch/arm64/arm/cortex-a520/metrics.json   | 373 +++++++++++++++
>>>>> .../arch/arm64/arm/cortex-a520/pmu.json       |   8 +
>>>>> .../arch/arm64/arm/cortex-a520/retired.json   |  90 ++++
>>>>> .../arm64/arm/cortex-a520/spec_operation.json |  70 +++
>>>>> .../arch/arm64/arm/cortex-a520/stall.json     |  82 ++++
>>>>> .../arch/arm64/arm/cortex-a520/sve.json       |  22 +
>>>>> .../arch/arm64/arm/cortex-a520/tlb.json       |  78 ++++
>>>>> .../arch/arm64/arm/cortex-a520/trace.json     |  32 ++
>>>>> .../arch/arm64/arm/cortex-a720/bus.json       |  18 +
>>>>> .../arch/arm64/arm/cortex-a720/exception.json |  62 +++
>>>>> .../arm64/arm/cortex-a720/fp_operation.json   |  22 +
>>>>> .../arch/arm64/arm/cortex-a720/general.json   |  10 +
>>>>> .../arch/arm64/arm/cortex-a720/l1d_cache.json |  50 ++
>>>>> .../arch/arm64/arm/cortex-a720/l1i_cache.json |  14 +
>>>>> .../arch/arm64/arm/cortex-a720/l2_cache.json  |  62 +++
>>>>> .../arch/arm64/arm/cortex-a720/l3_cache.json  |  22 +
>>>>> .../arch/arm64/arm/cortex-a720/ll_cache.json  |  10 +
>>>>> .../arch/arm64/arm/cortex-a720/memory.json    |  54 +++
>>>>> .../arch/arm64/arm/cortex-a720/metrics.json   | 436 ++++++++++++++++++
>>>>> .../arch/arm64/arm/cortex-a720/pmu.json       |   8 +
>>>>> .../arch/arm64/arm/cortex-a720/retired.json   |  90 ++++
>>>>> .../arch/arm64/arm/cortex-a720/spe.json       |  42 ++
>>>>> .../arm64/arm/cortex-a720/spec_operation.json |  90 ++++
>>>>> .../arch/arm64/arm/cortex-a720/stall.json     |  82 ++++
>>>>> .../arch/arm64/arm/cortex-a720/sve.json       |  50 ++
>>>>> .../arch/arm64/arm/cortex-a720/tlb.json       |  74 +++
>>>>> .../arch/arm64/arm/cortex-a720/trace.json     |  32 ++
>>>>> .../arch/arm64/common-and-microarch.json      |  15 +
>>>>> tools/perf/pmu-events/arch/arm64/mapfile.csv  |   2 +
>>>>> 39 files changed, 2263 insertions(+)
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/bus.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/exception.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/fp_operation.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/general.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/l1d_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/l1i_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/l2_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/l3_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/ll_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/memory.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/metrics.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/pmu.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/retired.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/spec_operation.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/stall.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/sve.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/tlb.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a520/trace.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/bus.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/exception.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/fp_operation.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/general.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/l1d_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/l1i_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/l2_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/l3_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/ll_cache.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/memory.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/metrics.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/pmu.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/retired.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/spe.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/spec_operation.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/stall.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/sve.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/tlb.json
>>>>> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a720/trace.json
>>>>>
>>>>> --
>>>>> 2.47.2
>>>>>
>>>
>>




More information about the linux-arm-kernel mailing list