Commit c3a9cdef authored by John Garry's avatar John Garry Committed by Arnaldo Carvalho de Melo

perf vendor events arm64: Reference common and uarch events for A76

Reduce duplication in the JSONs by referencing standard events from
armv8-common-and-microarch.json

In general the "PublicDescription" fields are not modified when somewhat
significantly worded differently than the standard.

Apart from that, description and names for events slightly different to
standard are changed (to standard) for consistency.
Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
Acked-by: default avatarWill Deacon <will@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Nakamura, Shunsuke/中村 俊介 <nakamura.shun@fujitsu.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linuxarm@openeuler.org
Link: https://lore.kernel.org/r/1611835236-34696-5-git-send-email-john.garry@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent d02d5dc8
[ [
{ {
"PublicDescription": "Mispredicted or not predicted branch speculatively executed. This event counts any predictable branch instruction which is mispredicted either due to dynamic misprediction or because the MMU is off and the branches are statically predicted not taken.", "PublicDescription": "This event counts any predictable branch instruction which is mispredicted either due to dynamic misprediction or because the MMU is off and the branches are statically predicted not taken",
"EventCode": "0x10", "ArchStdEvent": "BR_MIS_PRED",
"EventName": "BR_MIS_PRED",
"BriefDescription": "Mispredicted or not predicted branch speculatively executed."
}, },
{ {
"PublicDescription": "Predictable branch speculatively executed. This event counts all predictable branches.", "PublicDescription": "This event counts all predictable branches.",
"EventCode": "0x12", "ArchStdEvent": "BR_PRED",
"EventName": "BR_PRED",
"BriefDescription": "Predictable branch speculatively executed."
} }
] ]
[ [
{ {
"EventCode": "0x11", "PublicDescription": "The number of core clock cycles"
"EventName": "CPU_CYCLES", "ArchStdEvent": "CPU_CYCLES",
"BriefDescription": "The number of core clock cycles." "BriefDescription": "The number of core clock cycles."
}, },
{ {
"PublicDescription": "Bus access. This event counts for every beat of data transferred over the data channels between the core and the SCU. If both read and write data beats are transferred on a given cycle, this event is counted twice on that cycle. This event counts the sum of BUS_ACCESS_RD and BUS_ACCESS_WR.", "PublicDescription": "This event counts for every beat of data transferred over the data channels between the core and the SCU. If both read and write data beats are transferred on a given cycle, this event is counted twice on that cycle. This event counts the sum of BUS_ACCESS_RD and BUS_ACCESS_WR.",
"EventCode": "0x19", "ArchStdEvent": "BUS_ACCESS",
"EventName": "BUS_ACCESS",
"BriefDescription": "Bus access."
}, },
{ {
"EventCode": "0x1D", "PublicDescription": "This event duplicates CPU_CYCLES."
"EventName": "BUS_CYCLES", "ArchStdEvent": "BUS_CYCLES",
"BriefDescription": "Bus cycles. This event duplicates CPU_CYCLES."
}, },
{ {
"ArchStdEvent": "BUS_ACCESS_RD" "ArchStdEvent": "BUS_ACCESS_RD",
}, },
{ {
"ArchStdEvent": "BUS_ACCESS_WR" "ArchStdEvent": "BUS_ACCESS_WR",
} }
] ]
[ [
{ {
"PublicDescription": "L1 instruction cache refill. This event counts any instruction fetch which misses in the cache.", "PublicDescription": "This event counts any instruction fetch which misses in the cache.",
"EventCode": "0x01", "ArchStdEvent": "L1I_CACHE_REFILL",
"EventName": "L1I_CACHE_REFILL",
"BriefDescription": "L1 instruction cache refill"
}, },
{ {
"PublicDescription": "L1 instruction TLB refill. This event counts any refill of the instruction L1 TLB from the L2 TLB. This includes refills that result in a translation fault.", "PublicDescription": "This event counts any refill of the instruction L1 TLB from the L2 TLB. This includes refills that result in a translation fault.",
"EventCode": "0x02", "ArchStdEvent": "L1I_TLB_REFILL",
"EventName": "L1I_TLB_REFILL",
"BriefDescription": "L1 instruction TLB refill"
}, },
{ {
"PublicDescription": "L1 data cache refill. This event counts any load or store operation or page table walk access which causes data to be read from outside the L1, including accesses which do not allocate into L1.", "PublicDescription": "This event counts any load or store operation or page table walk access which causes data to be read from outside the L1, including accesses which do not allocate into L1.",
"EventCode": "0x03", "ArchStdEvent": "L1D_CACHE_REFILL",
"EventName": "L1D_CACHE_REFILL",
"BriefDescription": "L1 data cache refill"
}, },
{ {
"PublicDescription": "L1 data cache access. This event counts any load or store operation or page table walk access which looks up in the L1 data cache. In particular, any access which could count the L1D_CACHE_REFILL event causes this event to count.", "PublicDescription": "This event counts any load or store operation or page table walk access which looks up in the L1 data cache. In particular, any access which could count the L1D_CACHE_REFILL event causes this event to count.",
"EventCode": "0x04", "ArchStdEvent": "L1D_CACHE",
"EventName": "L1D_CACHE",
"BriefDescription": "L1 data cache access"
}, },
{ {
"PublicDescription": "L1 data TLB refill. This event counts any refill of the data L1 TLB from the L2 TLB. This includes refills that result in a translation fault.", "PublicDescription": "This event counts any refill of the data L1 TLB from the L2 TLB. This includes refills that result in a translation fault.",
"EventCode": "0x05", "ArchStdEvent": "L1D_TLB_REFILL",
"EventName": "L1D_TLB_REFILL",
"BriefDescription": "L1 data TLB refill"
}, },
{ {,
"PublicDescription": "Level 1 instruction cache access or Level 0 Macro-op cache access. This event counts any instruction fetch which accesses the L1 instruction cache or L0 Macro-op cache.", "PublicDescription": "Level 1 instruction cache access or Level 0 Macro-op cache access. This event counts any instruction fetch which accesses the L1 instruction cache or L0 Macro-op cache.",
"EventCode": "0x14", "ArchStdEvent": "L1I_CACHE",
"EventName": "L1I_CACHE",
"BriefDescription": "L1 instruction cache access"
}, },
{ {
"PublicDescription": "L1 data cache Write-Back. This event counts any write-back of data from the L1 data cache to L2 or L3. This counts both victim line evictions and snoops, including cache maintenance operations.", "PublicDescription": "This event counts any write-back of data from the L1 data cache to L2 or L3. This counts both victim line evictions and snoops, including cache maintenance operations.",
"EventCode": "0x15", "ArchStdEvent": "L1D_CACHE_WB",
"EventName": "L1D_CACHE_WB",
"BriefDescription": "L1 data cache Write-Back"
}, },
{ {
"PublicDescription": "L2 data cache access. This event counts any transaction from L1 which looks up in the L2 cache, and any write-back from the L1 to the L2. Snoops from outside the core and cache maintenance operations are not counted.", "PublicDescription": "This event counts any transaction from L1 which looks up in the L2 cache, and any write-back from the L1 to the L2. Snoops from outside the core and cache maintenance operations are not counted.",
"EventCode": "0x16", "ArchStdEvent": "L2D_CACHE",
"EventName": "L2D_CACHE",
"BriefDescription": "L2 data cache access"
}, },
{ {
"PublicDescription": "L2 data cache refill. This event counts any cacheable transaction from L1 which causes data to be read from outside the core. L2 refills caused by stashes into L2 should not be counted", "PublicDescription": "L2 data cache refill. This event counts any cacheable transaction from L1 which causes data to be read from outside the core. L2 refills caused by stashes into L2 should not be counted",
"EventCode": "0x17", "ArchStdEvent": "L2D_CACHE_REFILL",
"EventName": "L2D_CACHE_REFILL",
"BriefDescription": "L2 data cache refill"
}, },
{ {
"PublicDescription": "L2 data cache write-back. This event counts any write-back of data from the L2 cache to outside the core. This includes snoops to the L2 which return data, regardless of whether they cause an invalidation. Invalidations from the L2 which do not write data outside of the core and snoops which return data from the L1 are not counted", "PublicDescription": "This event counts any write-back of data from the L2 cache to outside the core. This includes snoops to the L2 which return data, regardless of whether they cause an invalidation. Invalidations from the L2 which do not write data outside of the core and snoops which return data from the L1 are not counted",
"EventCode": "0x18", "ArchStdEvent": "L2D_CACHE_WB",
"EventName": "L2D_CACHE_WB",
"BriefDescription": "L2 data cache write-back"
}, },
{ {
"PublicDescription": "L2 data cache allocation without refill. This event counts any full cache line write into the L2 cache which does not cause a linefill, including write-backs from L1 to L2 and full-line writes which do not allocate into L1.", "PublicDescription": "This event counts any full cache line write into the L2 cache which does not cause a linefill, including write-backs from L1 to L2 and full-line writes which do not allocate into L1.",
"EventCode": "0x20", "ArchStdEvent": "L2D_CACHE_ALLOCATE",
"EventName": "L2D_CACHE_ALLOCATE",
"BriefDescription": "L2 data cache allocation without refill"
}, },
{ {
"PublicDescription": "Level 1 data TLB access. This event counts any load or store operation which accesses the data L1 TLB. If both a load and a store are executed on a cycle, this event counts twice. This event counts regardless of whether the MMU is enabled.", "PublicDescription": "This event counts any load or store operation which accesses the data L1 TLB. If both a load and a store are executed on a cycle, this event counts twice. This event counts regardless of whether the MMU is enabled.",
"EventCode": "0x25", "ArchStdEvent": "L1D_TLB",
"EventName": "L1D_TLB",
"BriefDescription": "Level 1 data TLB access." "BriefDescription": "Level 1 data TLB access."
}, },
{ {
"PublicDescription": "Level 1 instruction TLB access. This event counts any instruction fetch which accesses the instruction L1 TLB.This event counts regardless of whether the MMU is enabled.", "PublicDescription": "This event counts any instruction fetch which accesses the instruction L1 TLB.This event counts regardless of whether the MMU is enabled.",
"EventCode": "0x26", "ArchStdEvent": "L1I_TLB",
"EventName": "L1I_TLB",
"BriefDescription": "Level 1 instruction TLB access" "BriefDescription": "Level 1 instruction TLB access"
}, },
{ {
"PublicDescription": "This event counts any full cache line write into the L3 cache which does not cause a linefill, including write-backs from L2 to L3 and full-line writes which do not allocate into L2", "PublicDescription": "This event counts any full cache line write into the L3 cache which does not cause a linefill, including write-backs from L2 to L3 and full-line writes which do not allocate into L2",
"EventCode": "0x29", "ArchStdEvent": "L3D_CACHE_ALLOCATE",
"EventName": "L3D_CACHE_ALLOCATE",
"BriefDescription": "Allocation without refill" "BriefDescription": "Allocation without refill"
}, },
{ {
"PublicDescription": "Attributable Level 3 unified cache refill. This event counts for any cacheable read transaction returning datafrom the SCU for which the data source was outside the cluster. Transactions such as ReadUnique are counted here as 'read' transactions, even though they can be generated by store instructions.", "PublicDescription": "This event counts for any cacheable read transaction returning datafrom the SCU for which the data source was outside the cluster. Transactions such as ReadUnique are counted here as 'read' transactions, even though they can be generated by store instructions.",
"EventCode": "0x2A", "ArchStdEvent": "L3D_CACHE_REFILL",
"EventName": "L3D_CACHE_REFILL",
"BriefDescription": "Attributable Level 3 unified cache refill." "BriefDescription": "Attributable Level 3 unified cache refill."
}, },
{ {
"PublicDescription": "Attributable Level 3 unified cache access. This event counts for any cacheable read transaction returning datafrom the SCU, or for any cacheable write to the SCU.", "PublicDescription": "This event counts for any cacheable read transaction returning datafrom the SCU, or for any cacheable write to the SCU.",
"EventCode": "0x2B", "ArchStdEvent": "L3D_CACHE",
"EventName": "L3D_CACHE",
"BriefDescription": "Attributable Level 3 unified cache access." "BriefDescription": "Attributable Level 3 unified cache access."
}, },
{ {
"PublicDescription": "Attributable L2 data or unified TLB refill. This event counts on anyrefill of the L2 TLB, caused by either an instruction or data access.This event does not count if the MMU is disabled.", "PublicDescription": "This event counts on anyrefill of the L2 TLB, caused by either an instruction or data access.This event does not count if the MMU is disabled.",
"EventCode": "0x2D", "ArchStdEvent": "L2D_TLB_REFILL",
"EventName": "L2D_TLB_REFILL",
"BriefDescription": "Attributable L2 data or unified TLB refill" "BriefDescription": "Attributable L2 data or unified TLB refill"
}, },
{ {
"PublicDescription": "Attributable L2 data or unified TLB access. This event counts on any access to the L2 TLB (caused by a refill of any of the L1 TLBs). This event does not count if the MMU is disabled.", "PublicDescription": "This event counts on any access to the L2 TLB (caused by a refill of any of the L1 TLBs). This event does not count if the MMU is disabled.",
"EventCode": "0x2F", "ArchStdEvent": "L2D_TLB",
"EventName": "L2D_TLB",
"BriefDescription": "Attributable L2 data or unified TLB access"
}, },
{ {
"PublicDescription": "Access to data TLB that caused a page table walk. This event counts on any data access which causes L2D_TLB_REFILL to count.", "PublicDescription": "This event counts on any data access which causes L2D_TLB_REFILL to count.",
"EventCode": "0x34", "ArchStdEvent": "DTLB_WALK",
"EventName": "DTLB_WALK",
"BriefDescription": "Access to data TLB that caused a page table walk."
}, },
{ {
"PublicDescription": "Access to instruction TLB that caused a page table walk. This event counts on any instruction access which causes L2D_TLB_REFILL to count.", "PublicDescription": "This event counts on any instruction access which causes L2D_TLB_REFILL to count.",
"EventCode": "0x35", "ArchStdEvent": "ITLB_WALK",
"EventName": "ITLB_WALK",
"BriefDescription": "Access to instruction TLB that caused a page table walk."
}, },
{ {
"EventCode": "0x36", "ArchStdEvent": "LL_CACHE_RD",
"EventName": "LL_CACHE_RD",
"BriefDescription": "Last level cache access, read"
}, },
{ {
"EventCode": "0x37", "ArchStdEvent": "LL_CACHE_MISS_RD",
"EventName": "LL_CACHE_MISS_RD",
"BriefDescription": "Last level cache miss, read"
}, },
{ {
"ArchStdEvent": "L1D_CACHE_INVAL" "ArchStdEvent": "L1D_CACHE_INVAL"
......
[ [
{ {
"EventCode": "0x09", "ArchStdEvent": "EXC_TAKEN",
"EventName": "EXC_TAKEN",
"BriefDescription": "Exception taken."
}, },
{ {
"PublicDescription": "Local memory error. This event counts any correctable or uncorrectable memory error (ECC or parity) in the protected core RAMs", "PublicDescription": "This event counts any correctable or uncorrectable memory error (ECC or parity) in the protected core RAMs",
"EventCode": "0x1A", "ArchStdEvent": "MEMORY_ERROR",
"EventName": "MEMORY_ERROR",
"BriefDescription": "Local memory error."
}, },
{ {
"ArchStdEvent": "EXC_DABORT" "ArchStdEvent": "EXC_DABORT"
......
[ [
{ {
"PublicDescription": "Software increment. Instruction architecturally executed (condition code check pass).", "ArchStdEvent": "SW_INCR",
"EventCode": "0x00",
"EventName": "SW_INCR",
"BriefDescription": "Software increment."
}, },
{ {
"PublicDescription": "Instruction architecturally executed. This event counts all retired instructions, including those that fail their condition check.", "PublicDescription": "This event counts all retired instructions, including those that fail their condition check.",
"EventCode": "0x08", "ArchStdEvent": "INST_RETIRED",
"EventName": "INST_RETIRED",
"BriefDescription": "Instruction architecturally executed."
}, },
{ {
"EventCode": "0x0A", "ArchStdEvent": "EXC_RETURN",
"EventName": "EXC_RETURN",
"BriefDescription": "Instruction architecturally executed, condition code check pass, exception return."
}, },
{ {
"PublicDescription": "Instruction architecturally executed, condition code check pass, write to CONTEXTIDR. This event only counts writes to CONTEXTIDR in AArch32 state, and via the CONTEXTIDR_EL1 mnemonic in AArch64 state.", "PublicDescription": "This event only counts writes to CONTEXTIDR in AArch32 state, and via the CONTEXTIDR_EL1 mnemonic in AArch64 state.",
"EventCode": "0x0B", "ArchStdEvent": "CID_WRITE_RETIRED",
"EventName": "CID_WRITE_RETIRED",
"BriefDescription": "Instruction architecturally executed, condition code check pass, write to CONTEXTIDR."
}, },
{ {
"EventCode": "0x1B", "ArchStdEvent": "INST_SPEC",
"EventName": "INST_SPEC",
"BriefDescription": "Operation speculatively executed"
}, },
{ {
"PublicDescription": "Instruction architecturally executed, condition code check pass, write to TTBR. This event only counts writes to TTBR0/TTBR1 in AArch32 state and TTBR0_EL1/TTBR1_EL1 in AArch64 state.", "PublicDescription": "This event only counts writes to TTBR0/TTBR1 in AArch32 state and TTBR0_EL1/TTBR1_EL1 in AArch64 state.",
"EventCode": "0x1C", "ArchStdEvent": "TTBR_WRITE_RETIRED",
"EventName": "TTBR_WRITE_RETIRED",
"BriefDescription": "Instruction architecturally executed, condition code check pass, write to TTBR"
}, },
{ {,
"PublicDescription": "Instruction architecturally executed, branch. This event counts all branches, taken or not. This excludes exception entries, debug entries and CCFAIL branches.", "PublicDescription": "This event counts all branches, taken or not. This excludes exception entries, debug entries and CCFAIL branches.",
"EventCode": "0x21", "ArchStdEvent": "BR_RETIRED",
"EventName": "BR_RETIRED",
"BriefDescription": "Instruction architecturally executed, branch."
}, },
{ {
"PublicDescription": "Instruction architecturally executed, mispredicted branch. This event counts any branch counted by BR_RETIRED which is not correctly predicted and causes a pipeline flush.", "PublicDescription": "This event counts any branch counted by BR_RETIRED which is not correctly predicted and causes a pipeline flush.",
"EventCode": "0x22", "ArchStdEvent": "BR_MIS_PRED_RETIRED",
"EventName": "BR_MIS_PRED_RETIRED",
"BriefDescription": "Instruction architecturally executed, mispredicted branch."
}, },
{ {
"ArchStdEvent": "ASE_SPEC" "ArchStdEvent": "ASE_SPEC"
......
[ [
{ {
"PublicDescription": "Data memory access. This event counts memory accesses due to load or store instructions. This event counts the sum of MEM_ACCESS_RD and MEM_ACCESS_WR.", "PublicDescription": "This event counts memory accesses due to load or store instructions. This event counts the sum of MEM_ACCESS_RD and MEM_ACCESS_WR.",
"EventCode": "0x13", "ArchStdEvent": "MEM_ACCESS",
"EventName": "MEM_ACCESS",
"BriefDescription": "Data memory access"
}, },
{ {
"ArchStdEvent": "MEM_ACCESS_RD" "ArchStdEvent": "MEM_ACCESS_RD"
......
[ [
{ {
"EventCode": "0x31", "ArchStdEvent": "REMOTE_ACCESS",
"EventName": "REMOTE_ACCESS",
"BriefDescription": "Access to another socket in a multi-socket system"
} }
] ]
[ [
{ {
"PublicDescription": "No operation issued because of the frontend. The counter counts on any cycle when there are no fetched instructions available to dispatch.", "PublicDescription": "The counter counts on any cycle when there are no fetched instructions available to dispatch.",
"EventCode": "0x23", "ArchStdEvent": "STALL_FRONTEND",
"EventName": "STALL_FRONTEND",
"BriefDescription": "No operation issued because of the frontend."
}, },
{ {
"PublicDescription": "No operation issued because of the backend. The counter counts on any cycle fetched instructions are not dispatched due to resource constraints.", "PublicDescription": "The counter counts on any cycle fetched instructions are not dispatched due to resource constraints.",
"EventCode": "0x24", "ArchStdEvent": "STALL_BACKEND",
"EventName": "STALL_BACKEND",
"BriefDescription": "No operation issued because of the backend."
} }
] ]
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment