mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
perf vendor events riscv: Add SiFive P650 events
The SiFive Performance P650 core (including the vector-enabled P670 and area-optimized P450/P470 variants) updates the P550 microarchitecture. It brings in the debug, trace, and counter events from newer Bullet cores, and adds new events for iTLB and dTLB multi-hits. All other PMU events are unchanged from the P550 core. Signed-off-by: Eric Lin <eric.lin@sifive.com> Co-developed-by: Samuel Holland <samuel.holland@sifive.com> Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Ian Rogers <irogers@google.com> Tested-by: Ian Rogers <irogers@google.com> Tested-by: Atish Patra <atishp@rivosinc.com> Link: https://lore.kernel.org/r/20250213220341.3215660-8-samuel.holland@sifive.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
2e3a13d6b7
commit
6dad43bb11
|
|
@ -18,6 +18,7 @@
|
|||
0x489-0x8000000000000[1-9a-e]07-0x[78ac][[:xdigit:]]+,v1,sifive/bullet-07,core
|
||||
0x489-0x8000000000000[1-9a-e]07-0xd[[:xdigit:]]+,v1,sifive/bullet-0d,core
|
||||
0x489-0x8000000000000008-0x[[:xdigit:]]+,v1,sifive/p550,core
|
||||
0x489-0x8000000000000[1-6]08-0x[9b][[:xdigit:]]+,v1,sifive/p650,core
|
||||
0x5b7-0x0-0x0,v1,thead/c900-legacy,core
|
||||
0x67e-0x80000000db0000[89]0-0x[[:xdigit:]]+,v1,starfive/dubhe-80,core
|
||||
0x31e-0x8000000000008a45-0x[[:xdigit:]]+,v1,andes/ax45,core
|
||||
|
|
|
|||
|
|
|
@ -0,0 +1 @@
|
|||
../bullet-07/cycle-and-instruction-count.json
|
||||
1
tools/perf/pmu-events/arch/riscv/sifive/p650/firmware.json
Symbolic link
1
tools/perf/pmu-events/arch/riscv/sifive/p650/firmware.json
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../bullet/firmware.json
|
||||
1
tools/perf/pmu-events/arch/riscv/sifive/p650/instruction.json
Symbolic link
1
tools/perf/pmu-events/arch/riscv/sifive/p650/instruction.json
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../bullet/instruction.json
|
||||
57
tools/perf/pmu-events/arch/riscv/sifive/p650/memory.json
Normal file
57
tools/perf/pmu-events/arch/riscv/sifive/p650/memory.json
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
[
|
||||
{
|
||||
"EventName": "ICACHE_MISS",
|
||||
"EventCode": "0x102",
|
||||
"BriefDescription": "Counts instruction cache misses"
|
||||
},
|
||||
{
|
||||
"EventName": "DCACHE_MISS",
|
||||
"EventCode": "0x202",
|
||||
"BriefDescription": "Counts data cache misses"
|
||||
},
|
||||
{
|
||||
"EventName": "DCACHE_RELEASE",
|
||||
"EventCode": "0x402",
|
||||
"BriefDescription": "Counts writeback requests from the data cache"
|
||||
},
|
||||
{
|
||||
"EventName": "ITLB_MISS",
|
||||
"EventCode": "0x802",
|
||||
"BriefDescription": "Counts Instruction TLB misses caused by instruction address translation requests"
|
||||
},
|
||||
{
|
||||
"EventName": "DTLB_MISS",
|
||||
"EventCode": "0x1002",
|
||||
"BriefDescription": "Counts Data TLB misses caused by data address translation requests"
|
||||
},
|
||||
{
|
||||
"EventName": "UTLB_MISS",
|
||||
"EventCode": "0x2002",
|
||||
"BriefDescription": "Counts Unified TLB misses caused by address translation requests"
|
||||
},
|
||||
{
|
||||
"EventName": "UTLB_HIT",
|
||||
"EventCode": "0x4002",
|
||||
"BriefDescription": "Counts Unified TLB hits for address translation requests"
|
||||
},
|
||||
{
|
||||
"EventName": "PTE_CACHE_MISS",
|
||||
"EventCode": "0x8002",
|
||||
"BriefDescription": "Counts Page Table Entry cache misses"
|
||||
},
|
||||
{
|
||||
"EventName": "PTE_CACHE_HIT",
|
||||
"EventCode": "0x10002",
|
||||
"BriefDescription": "Counts Page Table Entry cache hits"
|
||||
},
|
||||
{
|
||||
"EventName": "ITLB_MULTI_HIT",
|
||||
"EventCode": "0x20002",
|
||||
"BriefDescription": "Counts Instruction TLB multi-hits"
|
||||
},
|
||||
{
|
||||
"EventName": "DTLB_MULTI_HIT",
|
||||
"EventCode": "0x40002",
|
||||
"BriefDescription": "Counts Data TLB multi-hits"
|
||||
}
|
||||
]
|
||||
62
tools/perf/pmu-events/arch/riscv/sifive/p650/microarch.json
Normal file
62
tools/perf/pmu-events/arch/riscv/sifive/p650/microarch.json
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
[
|
||||
{
|
||||
"EventName": "ADDRESSGEN_INTERLOCK",
|
||||
"EventCode": "0x101",
|
||||
"BriefDescription": "Counts cycles with an address-generation interlock"
|
||||
},
|
||||
{
|
||||
"EventName": "LONGLATENCY_INTERLOCK",
|
||||
"EventCode": "0x201",
|
||||
"BriefDescription": "Counts cycles with a long-latency interlock"
|
||||
},
|
||||
{
|
||||
"EventName": "CSR_INTERLOCK",
|
||||
"EventCode": "0x401",
|
||||
"BriefDescription": "Counts cycles with a CSR interlock"
|
||||
},
|
||||
{
|
||||
"EventName": "ICACHE_BLOCKED",
|
||||
"EventCode": "0x801",
|
||||
"BriefDescription": "Counts cycles in which the instruction cache was not able to provide an instruction"
|
||||
},
|
||||
{
|
||||
"EventName": "DCACHE_BLOCKED",
|
||||
"EventCode": "0x1001",
|
||||
"BriefDescription": "Counts cycles in which the data cache blocked an instruction"
|
||||
},
|
||||
{
|
||||
"EventName": "BRANCH_DIRECTION_MISPREDICTION",
|
||||
"EventCode": "0x2001",
|
||||
"BriefDescription": "Counts mispredictions of conditional branch direction (taken/not taken)"
|
||||
},
|
||||
{
|
||||
"EventName": "BRANCH_TARGET_MISPREDICTION",
|
||||
"EventCode": "0x4001",
|
||||
"BriefDescription": "Counts mispredictions of the target PC of control-flow instructions"
|
||||
},
|
||||
{
|
||||
"EventName": "PIPELINE_FLUSH",
|
||||
"EventCode": "0x8001",
|
||||
"BriefDescription": "Counts flushes of the core pipeline. Common causes include fence.i and CSR accesses"
|
||||
},
|
||||
{
|
||||
"EventName": "REPLAY",
|
||||
"EventCode": "0x10001",
|
||||
"BriefDescription": "Counts instruction replays"
|
||||
},
|
||||
{
|
||||
"EventName": "INTEGER_MUL_DIV_INTERLOCK",
|
||||
"EventCode": "0x20001",
|
||||
"BriefDescription": "Counts cycles with a multiply or divide interlock"
|
||||
},
|
||||
{
|
||||
"EventName": "FP_INTERLOCK",
|
||||
"EventCode": "0x40001",
|
||||
"BriefDescription": "Counts cycles with a floating-point interlock"
|
||||
},
|
||||
{
|
||||
"EventName": "TRACE_STALL",
|
||||
"EventCode": "0x80001",
|
||||
"BriefDescription": "Counts cycles in which the core pipeline is stalled due to backpressure from the Trace Encoder"
|
||||
}
|
||||
]
|
||||
1
tools/perf/pmu-events/arch/riscv/sifive/p650/watchpoint.json
Symbolic link
1
tools/perf/pmu-events/arch/riscv/sifive/p650/watchpoint.json
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../bullet-07/watchpoint.json
|
||||
Loading…
Reference in New Issue
Block a user