Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

powerpc/perf: Fix to update generic event codes for power10

Fix the event code for events: branch-instructions (to PM_BR_FIN),
branch-misses (to PM_MPRED_BR_FIN) and cache-misses (to
PM_LD_DEMAND_MISS_L1_FIN) for power10 PMU. Update the
list of generic events with this modified event code.

Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1606409684-1589-6-git-send-email-atrajeev@linux.vnet.ibm.com

authored by

Athira Rajeev and committed by
Michael Ellerman
1f123163 c0e39857

+12 -6
+3
arch/powerpc/perf/power10-events-list.h
··· 15 15 EVENT(PM_RUN_INST_CMPL, 0x500fa); 16 16 EVENT(PM_BR_CMPL, 0x4d05e); 17 17 EVENT(PM_BR_MPRED_CMPL, 0x400f6); 18 + EVENT(PM_BR_FIN, 0x2f04a); 19 + EVENT(PM_MPRED_BR_FIN, 0x3e098); 20 + EVENT(PM_LD_DEMAND_MISS_L1_FIN, 0x400f0); 18 21 19 22 /* All L1 D cache load references counted at finish, gated by reject */ 20 23 EVENT(PM_LD_REF_L1, 0x100fc);
+9 -6
arch/powerpc/perf/power10-pmu.c
··· 114 114 GENERIC_EVENT_ATTR(cache-misses, PM_LD_MISS_L1); 115 115 GENERIC_EVENT_ATTR(mem-loads, MEM_LOADS); 116 116 GENERIC_EVENT_ATTR(mem-stores, MEM_STORES); 117 + GENERIC_EVENT_ATTR(branch-instructions, PM_BR_FIN); 118 + GENERIC_EVENT_ATTR(branch-misses, PM_MPRED_BR_FIN); 119 + GENERIC_EVENT_ATTR(cache-misses, PM_LD_DEMAND_MISS_L1_FIN); 117 120 118 121 CACHE_EVENT_ATTR(L1-dcache-load-misses, PM_LD_MISS_L1); 119 122 CACHE_EVENT_ATTR(L1-dcache-loads, PM_LD_REF_L1); ··· 160 157 static struct attribute *power10_events_attr[] = { 161 158 GENERIC_EVENT_PTR(PM_RUN_CYC), 162 159 GENERIC_EVENT_PTR(PM_RUN_INST_CMPL), 163 - GENERIC_EVENT_PTR(PM_BR_CMPL), 164 - GENERIC_EVENT_PTR(PM_BR_MPRED_CMPL), 160 + GENERIC_EVENT_PTR(PM_BR_FIN), 161 + GENERIC_EVENT_PTR(PM_MPRED_BR_FIN), 165 162 GENERIC_EVENT_PTR(PM_LD_REF_L1), 166 - GENERIC_EVENT_PTR(PM_LD_MISS_L1), 163 + GENERIC_EVENT_PTR(PM_LD_DEMAND_MISS_L1_FIN), 167 164 GENERIC_EVENT_PTR(MEM_LOADS), 168 165 GENERIC_EVENT_PTR(MEM_STORES), 169 166 CACHE_EVENT_PTR(PM_LD_MISS_L1), ··· 262 259 static int power10_generic_events[] = { 263 260 [PERF_COUNT_HW_CPU_CYCLES] = PM_RUN_CYC, 264 261 [PERF_COUNT_HW_INSTRUCTIONS] = PM_RUN_INST_CMPL, 265 - [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = PM_BR_CMPL, 266 - [PERF_COUNT_HW_BRANCH_MISSES] = PM_BR_MPRED_CMPL, 262 + [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = PM_BR_FIN, 263 + [PERF_COUNT_HW_BRANCH_MISSES] = PM_MPRED_BR_FIN, 267 264 [PERF_COUNT_HW_CACHE_REFERENCES] = PM_LD_REF_L1, 268 - [PERF_COUNT_HW_CACHE_MISSES] = PM_LD_MISS_L1, 265 + [PERF_COUNT_HW_CACHE_MISSES] = PM_LD_DEMAND_MISS_L1_FIN, 269 266 }; 270 267 271 268 static u64 power10_bhrb_filter_map(u64 branch_sample_type)