perf vendors events arm64: Arm Cortex-A73

Add PMU events for Arm Cortex-A73
Update mapfile.csv

Event data based on:
https://github.com/ARM-software/data/tree/master/pmu/cortex-a73.json

which is based on PMU event descriptions from the Arm Cortex-A73 Technical
Reference Manual.

Mapping data (for mapfile.csv) based on:
https://github.com/ARM-software/data/blob/master/cpus.json

which is based on Main ID Register (MIDR) information found in the Arm
Technical Reference Manuals for individual CPUs.

Reviewed-by: John Garry <john.garry@huawei.com>
Signed-off-by: Nick Forrington <nick.forrington@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Andrew Kilroy <andrew.kilroy@arm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20220520181455.340344-7-nick.forrington@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Nick Forrington 2022-05-20 19:14:48 +01:00 committed by Arnaldo Carvalho de Melo
parent 6951dee812
commit 64a091c67a
10 changed files with 331 additions and 0 deletions

View file

@ -0,0 +1,11 @@
[
{
"ArchStdEvent": "BR_MIS_PRED"
},
{
"ArchStdEvent": "BR_PRED"
},
{
"ArchStdEvent": "BR_INDIRECT_SPEC"
}
]

View file

@ -0,0 +1,23 @@
[
{
"ArchStdEvent": "CPU_CYCLES"
},
{
"ArchStdEvent": "BUS_ACCESS"
},
{
"ArchStdEvent": "BUS_CYCLES"
},
{
"ArchStdEvent": "BUS_ACCESS_SHARED"
},
{
"ArchStdEvent": "BUS_ACCESS_NOT_SHARED"
},
{
"ArchStdEvent": "BUS_ACCESS_NORMAL"
},
{
"ArchStdEvent": "BUS_ACCESS_PERIPH"
}
]

View file

@ -0,0 +1,107 @@
[
{
"ArchStdEvent": "L1I_CACHE_REFILL"
},
{
"ArchStdEvent": "L1I_TLB_REFILL"
},
{
"ArchStdEvent": "L1D_CACHE_REFILL"
},
{
"ArchStdEvent": "L1D_CACHE"
},
{
"ArchStdEvent": "L1D_TLB_REFILL"
},
{
"ArchStdEvent": "L1I_CACHE"
},
{
"ArchStdEvent": "L1D_CACHE_WB"
},
{
"ArchStdEvent": "L2D_CACHE"
},
{
"ArchStdEvent": "L2D_CACHE_REFILL"
},
{
"ArchStdEvent": "L2D_CACHE_WB"
},
{
"ArchStdEvent": "L1D_CACHE_RD"
},
{
"ArchStdEvent": "L1D_CACHE_WR"
},
{
"ArchStdEvent": "L2D_CACHE_RD"
},
{
"ArchStdEvent": "L2D_CACHE_WR"
},
{
"ArchStdEvent": "L2D_CACHE_WB_VICTIM"
},
{
"ArchStdEvent": "L2D_CACHE_WB_CLEAN"
},
{
"ArchStdEvent": "L2D_CACHE_INVAL"
},
{
"PublicDescription": "Number of ways read in the instruction cache - Tag RAM",
"EventCode": "0xC2",
"EventName": "I_TAG_RAM_RD",
"BriefDescription": "Number of ways read in the instruction cache - Tag RAM"
},
{
"PublicDescription": "Number of ways read in the instruction cache - Data RAM",
"EventCode": "0xC3",
"EventName": "I_DATA_RAM_RD",
"BriefDescription": "Number of ways read in the instruction cache - Data RAM"
},
{
"PublicDescription": "Number of ways read in the instruction BTAC RAM",
"EventCode": "0xC4",
"EventName": "I_BTAC_RAM_RD",
"BriefDescription": "Number of ways read in the instruction BTAC RAM"
},
{
"PublicDescription": "Level 1 PLD TLB refill",
"EventCode": "0xE7",
"EventName": "PLD_UTLB_REFILL",
"BriefDescription": "Level 1 PLD TLB refill"
},
{
"PublicDescription": "Level 1 CP15 TLB refill",
"EventCode": "0xE8",
"EventName": "CP15_UTLB_REFILL",
"BriefDescription": "Level 1 CP15 TLB refill"
},
{
"PublicDescription": "Level 1 TLB flush",
"EventCode": "0xE9",
"EventName": "UTLB_FLUSH",
"BriefDescription": "Level 1 TLB flush"
},
{
"PublicDescription": "Level 2 TLB access",
"EventCode": "0xEA",
"EventName": "TLB_ACCESS",
"BriefDescription": "Level 2 TLB access"
},
{
"PublicDescription": "Level 2 TLB miss",
"EventCode": "0xEB",
"EventName": "TLB_MISS",
"BriefDescription": "Level 2 TLB miss"
},
{
"PublicDescription": "Data cache hit in itself due to VIPT aliasing",
"EventCode": "0xEC",
"EventName": "DCACHE_SELF_HIT_VIPT",
"BriefDescription": "Data cache hit in itself due to VIPT aliasing"
}
]

View file

@ -0,0 +1,14 @@
[
{
"PublicDescription": "ETM trace unit output 0",
"EventCode": "0xDE",
"EventName": "ETM_EXT_OUT0",
"BriefDescription": "ETM trace unit output 0"
},
{
"PublicDescription": "ETM trace unit output 1",
"EventCode": "0xDF",
"EventName": "ETM_EXT_OUT1",
"BriefDescription": "ETM trace unit output 1"
}
]

View file

@ -0,0 +1,14 @@
[
{
"ArchStdEvent": "EXC_TAKEN"
},
{
"ArchStdEvent": "EXC_HVC"
},
{
"PublicDescription": "Number of Traps to hypervisor",
"EventCode": "0xDC",
"EventName": "EXC_TRAP_HYP",
"BriefDescription": "Number of Traps to hypervisor"
}
]

View file

@ -0,0 +1,65 @@
[
{
"ArchStdEvent": "SW_INCR"
},
{
"ArchStdEvent": "INST_RETIRED"
},
{
"ArchStdEvent": "EXC_RETURN"
},
{
"ArchStdEvent": "CID_WRITE_RETIRED"
},
{
"ArchStdEvent": "PC_WRITE_RETIRED"
},
{
"ArchStdEvent": "BR_IMMED_RETIRED"
},
{
"ArchStdEvent": "BR_RETURN_RETIRED"
},
{
"ArchStdEvent": "INST_SPEC"
},
{
"ArchStdEvent": "TTBR_WRITE_RETIRED"
},
{
"ArchStdEvent": "LDREX_SPEC"
},
{
"ArchStdEvent": "STREX_FAIL_SPEC"
},
{
"ArchStdEvent": "LD_SPEC"
},
{
"ArchStdEvent": "ST_SPEC"
},
{
"ArchStdEvent": "LDST_SPEC"
},
{
"ArchStdEvent": "DP_SPEC"
},
{
"ArchStdEvent": "ASE_SPEC"
},
{
"ArchStdEvent": "VFP_SPEC"
},
{
"ArchStdEvent": "CRYPTO_SPEC"
},
{
"ArchStdEvent": "ISB_SPEC"
},
{
"ArchStdEvent": "DSB_SPEC"
},
{
"ArchStdEvent": "DMB_SPEC"
}
]

View file

@ -0,0 +1,14 @@
[
{
"ArchStdEvent": "MEM_ACCESS"
},
{
"ArchStdEvent": "MEM_ACCESS_RD"
},
{
"ArchStdEvent": "MEM_ACCESS_WR"
},
{
"ArchStdEvent": "UNALIGNED_LDST_SPEC"
}
]

View file

@ -0,0 +1,44 @@
[
{
"PublicDescription": "Duration of a translation table walk handled by the MMU",
"EventCode": "0xE0",
"EventName": "MMU_PTW",
"BriefDescription": "Duration of a translation table walk handled by the MMU"
},
{
"PublicDescription": "Duration of a Stage 1 translation table walk handled by the MMU",
"EventCode": "0xE1",
"EventName": "MMU_PTW_ST1",
"BriefDescription": "Duration of a Stage 1 translation table walk handled by the MMU"
},
{
"PublicDescription": "Duration of a Stage 2 translation table walk handled by the MMU",
"EventCode": "0xE2",
"EventName": "MMU_PTW_ST2",
"BriefDescription": "Duration of a Stage 2 translation table walk handled by the MMU"
},
{
"PublicDescription": "Duration of a translation table walk requested by the LSU",
"EventCode": "0xE3",
"EventName": "MMU_PTW_LSU",
"BriefDescription": "Duration of a translation table walk requested by the LSU"
},
{
"PublicDescription": "Duration of a translation table walk requested by the Instruction Side",
"EventCode": "0xE4",
"EventName": "MMU_PTW_ISIDE",
"BriefDescription": "Duration of a translation table walk requested by the Instruction Side"
},
{
"PublicDescription": "Duration of a translation table walk requested by a Preload instruction or Prefetch request",
"EventCode": "0xE5",
"EventName": "MMU_PTW_PLD",
"BriefDescription": "Duration of a translation table walk requested by a Preload instruction or Prefetch request"
},
{
"PublicDescription": "Duration of a translation table walk requested by a CP15 operation (maintenance by MVA and VA to PA operations)",
"EventCode": "0xE6",
"EventName": "MMU_PTW_CP15",
"BriefDescription": "Duration of a translation table walk requested by a CP15 operation (maintenance by MVA and VA to PA operations)"
}
]

View file

@ -0,0 +1,38 @@
[
{
"PublicDescription": "A linefill caused an instruction side stall",
"EventCode": "0xC0",
"EventName": "LF_STALL",
"BriefDescription": "A linefill caused an instruction side stall"
},
{
"PublicDescription": "A translation table walk caused an instruction side stall",
"EventCode": "0xC1",
"EventName": "PTW_STALL",
"BriefDescription": "A translation table walk caused an instruction side stall"
},
{
"PublicDescription": "Duration for which all slots in the Load-Store Unit are busy",
"EventCode": "0xD3",
"EventName": "D_LSU_SLOT_FULL",
"BriefDescription": "Duration for which all slots in the Load-Store Unit are busy"
},
{
"PublicDescription": "Duration for which all slots in the load-store issue queue are busy",
"EventCode": "0xD8",
"EventName": "LS_IQ_FULL",
"BriefDescription": "Duration for which all slots in the load-store issue queue are busy"
},
{
"PublicDescription": "Duration for which all slots in the data processing issue queue are busy",
"EventCode": "0xD9",
"EventName": "DP_IQ_FULL",
"BriefDescription": "Duration for which all slots in the data processing issue queue are busy"
},
{
"PublicDescription": "Duration for which all slots in the Data Engine issue queue are busy",
"EventCode": "0xDA",
"EventName": "DE_IQ_FULL",
"BriefDescription": "Duration for which all slots in the Data Engine issue queue are busy"
}
]

View file

@ -20,6 +20,7 @@
0x00000000410fd060,v1,arm/cortex-a65,core
0x00000000410fd070,v1,arm/cortex-a57-a72,core
0x00000000410fd080,v1,arm/cortex-a57-a72,core
0x00000000410fd090,v1,arm/cortex-a73,core
0x00000000410fd0b0,v1,arm/cortex-a76-n1,core
0x00000000410fd0c0,v1,arm/cortex-a76-n1,core
0x00000000410fd400,v1,arm/neoverse-v1,core

1 # Format:
20 0x00000000410fd060,v1,arm/cortex-a65,core
21 0x00000000410fd070,v1,arm/cortex-a57-a72,core
22 0x00000000410fd080,v1,arm/cortex-a57-a72,core
23 0x00000000410fd090,v1,arm/cortex-a73,core
24 0x00000000410fd0b0,v1,arm/cortex-a76-n1,core
25 0x00000000410fd0c0,v1,arm/cortex-a76-n1,core
26 0x00000000410fd400,v1,arm/neoverse-v1,core