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",
} }
] ]
[ [
{ {
"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