xref: /linux/tools/perf/pmu-events/arch/powerpc/power10/metrics.json (revision fd7d598270724cc787982ea48bbe17ad383a8b7f)
1[
2    {
3        "BriefDescription": "Percentage of cycles that are run cycles",
4        "MetricExpr": "PM_RUN_CYC / PM_CYC * 100",
5        "MetricGroup": "General",
6        "MetricName": "RUN_CYCLES_RATE",
7        "ScaleUnit": "1%"
8    },
9    {
10        "BriefDescription": "Average cycles per completed instruction",
11        "MetricExpr": "PM_CYC / PM_INST_CMPL",
12        "MetricGroup": "CPI",
13        "MetricName": "CYCLES_PER_INSTRUCTION"
14    },
15    {
16        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled for any reason",
17        "MetricExpr": "PM_DISP_STALL_CYC / PM_RUN_INST_CMPL",
18        "MetricGroup": "CPI;CPI_STALL_RATIO",
19        "MetricName": "DISPATCH_STALL_CPI"
20    },
21    {
22        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled because there was a flush",
23        "MetricExpr": "PM_DISP_STALL_FLUSH / PM_RUN_INST_CMPL",
24        "MetricGroup": "CPI",
25        "MetricName": "DISPATCH_STALL_FLUSH_CPI"
26    },
27    {
28        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled because Fetch was being held,  so there was nothing in the pipeline for this thread",
29        "MetricExpr": "PM_DISP_STALL_FETCH / PM_RUN_INST_CMPL",
30        "MetricGroup": "CPI",
31        "MetricName": "DISPATCH_STALL_FETCH_CPI"
32    },
33    {
34        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled because the MMU was handling a translation miss",
35        "MetricExpr": "PM_DISP_STALL_TRANSLATION / PM_RUN_INST_CMPL",
36        "MetricGroup": "CPI",
37        "MetricName": "DISPATCH_STALL_TRANSLATION_CPI"
38    },
39    {
40        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled waiting to resolve an instruction ERAT miss",
41        "MetricExpr": "PM_DISP_STALL_IERAT_ONLY_MISS / PM_RUN_INST_CMPL",
42        "MetricGroup": "CPI",
43        "MetricName": "DISPATCH_STALL_IERAT_ONLY_MISS_CPI"
44    },
45    {
46        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled waiting to resolve an instruction TLB miss",
47        "MetricExpr": "PM_DISP_STALL_ITLB_MISS / PM_RUN_INST_CMPL",
48        "MetricGroup": "CPI",
49        "MetricName": "DISPATCH_STALL_ITLB_MISS_CPI"
50    },
51    {
52        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled due to an icache miss",
53        "MetricExpr": "PM_DISP_STALL_IC_MISS / PM_RUN_INST_CMPL",
54        "MetricGroup": "CPI",
55        "MetricName": "DISPATCH_STALL_IC_MISS_CPI"
56    },
57    {
58        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled while the instruction was fetched from the local L2",
59        "MetricExpr": "PM_DISP_STALL_IC_L2 / PM_RUN_INST_CMPL",
60        "MetricGroup": "CPI",
61        "MetricName": "DISPATCH_STALL_IC_L2_CPI"
62    },
63    {
64        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled while the instruction was fetched from the local L3",
65        "MetricExpr": "PM_DISP_STALL_IC_L3 / PM_RUN_INST_CMPL",
66        "MetricGroup": "CPI",
67        "MetricName": "DISPATCH_STALL_IC_L3_CPI"
68    },
69    {
70        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled while the instruction was fetched from any source beyond the local L3",
71        "MetricExpr": "PM_DISP_STALL_IC_L3MISS / PM_RUN_INST_CMPL",
72        "MetricGroup": "CPI",
73        "MetricName": "DISPATCH_STALL_IC_L3MISS_CPI"
74    },
75    {
76        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled due to an icache miss after a branch mispredict",
77        "MetricExpr": "PM_DISP_STALL_BR_MPRED_ICMISS / PM_RUN_INST_CMPL",
78        "MetricGroup": "CPI",
79        "MetricName": "DISPATCH_STALL_BR_MPRED_ICMISS_CPI"
80    },
81    {
82        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled while instruction was fetched from the local L2 after suffering a branch mispredict",
83        "MetricExpr": "PM_DISP_STALL_BR_MPRED_IC_L2 / PM_RUN_INST_CMPL",
84        "MetricGroup": "CPI",
85        "MetricName": "DISPATCH_STALL_BR_MPRED_IC_L2_CPI"
86    },
87    {
88        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled while instruction was fetched from the local L3 after suffering a branch mispredict",
89        "MetricExpr": "PM_DISP_STALL_BR_MPRED_IC_L3 / PM_RUN_INST_CMPL",
90        "MetricGroup": "CPI",
91        "MetricName": "DISPATCH_STALL_BR_MPRED_IC_L3_CPI"
92    },
93    {
94        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled while instruction was fetched from any source beyond the local L3 after suffering a branch mispredict",
95        "MetricExpr": "PM_DISP_STALL_BR_MPRED_IC_L3MISS / PM_RUN_INST_CMPL",
96        "MetricGroup": "CPI",
97        "MetricName": "DISPATCH_STALL_BR_MPRED_IC_L3MISS_CPI"
98    },
99    {
100        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled due to a branch mispredict",
101        "MetricExpr": "PM_DISP_STALL_BR_MPRED / PM_RUN_INST_CMPL",
102        "MetricGroup": "CPI",
103        "MetricName": "DISPATCH_STALL_BR_MPRED_CPI"
104    },
105    {
106        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch for any reason",
107        "MetricExpr": "PM_DISP_STALL_HELD_CYC / PM_RUN_INST_CMPL",
108        "MetricGroup": "CPI",
109        "MetricName": "DISPATCH_STALL_HELD_CPI"
110    },
111    {
112        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch because of a synchronizing instruction that requires the ICT to be empty before dispatch",
113        "MetricExpr": "PM_DISP_STALL_HELD_SYNC_CYC / PM_RUN_INST_CMPL",
114        "MetricGroup": "CPI",
115        "MetricName": "DISPATCH_STALL_HELD_SYNC_CPI"
116    },
117    {
118        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch while waiting on the scoreboard",
119        "MetricExpr": "PM_DISP_STALL_HELD_SCOREBOARD_CYC / PM_RUN_INST_CMPL",
120        "MetricGroup": "CPI",
121        "MetricName": "DISPATCH_STALL_HELD_SCOREBOARD_CPI"
122    },
123    {
124        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch due to issue queue full",
125        "MetricExpr": "PM_DISP_STALL_HELD_ISSQ_FULL_CYC / PM_RUN_INST_CMPL",
126        "MetricGroup": "CPI",
127        "MetricName": "DISPATCH_STALL_HELD_ISSQ_FULL_CPI"
128    },
129    {
130        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch because the mapper/SRB was full",
131        "MetricExpr": "PM_DISP_STALL_HELD_RENAME_CYC / PM_RUN_INST_CMPL",
132        "MetricGroup": "CPI",
133        "MetricName": "DISPATCH_STALL_HELD_RENAME_CPI"
134    },
135    {
136        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch because the STF mapper/SRB was full",
137        "MetricExpr": "PM_DISP_STALL_HELD_STF_MAPPER_CYC / PM_RUN_INST_CMPL",
138        "MetricGroup": "CPI",
139        "MetricName": "DISPATCH_STALL_HELD_STF_MAPPER_CPI"
140    },
141    {
142        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch because the XVFC mapper/SRB was full",
143        "MetricExpr": "PM_DISP_STALL_HELD_XVFC_MAPPER_CYC / PM_RUN_INST_CMPL",
144        "MetricGroup": "CPI",
145        "MetricName": "DISPATCH_STALL_HELD_XVFC_MAPPER_CPI"
146    },
147    {
148        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch for any other reason",
149        "MetricExpr": "PM_DISP_STALL_HELD_OTHER_CYC / PM_RUN_INST_CMPL",
150        "MetricGroup": "CPI",
151        "MetricName": "DISPATCH_STALL_HELD_OTHER_CPI"
152    },
153    {
154        "BriefDescription": "Average cycles per completed instruction when the NTC instruction has been dispatched but not issued for any reason",
155        "MetricExpr": "PM_ISSUE_STALL / PM_RUN_INST_CMPL",
156        "MetricGroup": "CPI;CPI_STALL_RATIO",
157        "MetricName": "ISSUE_STALL_CPI"
158    },
159    {
160        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting to be finished in one of the execution units",
161        "MetricExpr": "PM_EXEC_STALL / PM_RUN_INST_CMPL",
162        "MetricGroup": "CPI;CPI_STALL_RATIO",
163        "MetricName": "EXECUTION_STALL_CPI"
164    },
165    {
166        "BriefDescription": "Average cycles per completed instruction spent executing an NTC instruction that gets flushed some time after dispatch",
167        "MetricExpr": "PM_EXEC_STALL_NTC_FLUSH / PM_RUN_INST_CMPL",
168        "MetricGroup": "CPI",
169        "MetricName": "NTC_FLUSH_STALL_CPI"
170    },
171    {
172        "BriefDescription": "Average cycles per completed instruction when the NTF instruction finishes at dispatch",
173        "MetricExpr": "PM_EXEC_STALL_FIN_AT_DISP / PM_RUN_INST_CMPL",
174        "MetricGroup": "CPI",
175        "MetricName": "FIN_AT_DISP_STALL_CPI"
176    },
177    {
178        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is executing in the branch unit",
179        "MetricExpr": "PM_EXEC_STALL_BRU / PM_RUN_INST_CMPL",
180        "MetricGroup": "CPI",
181        "MetricName": "BRU_STALL_CPI"
182    },
183    {
184        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a simple fixed point instruction that is executing in the LSU",
185        "MetricExpr": "PM_EXEC_STALL_SIMPLE_FX / PM_RUN_INST_CMPL",
186        "MetricGroup": "CPI",
187        "MetricName": "SIMPLE_FX_STALL_CPI"
188    },
189    {
190        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is executing in the VSU",
191        "MetricExpr": "PM_EXEC_STALL_VSU / PM_RUN_INST_CMPL",
192        "MetricGroup": "CPI",
193        "MetricName": "VSU_STALL_CPI"
194    },
195    {
196        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting to be finished in one of the execution units",
197        "MetricExpr": "PM_EXEC_STALL_TRANSLATION / PM_RUN_INST_CMPL",
198        "MetricGroup": "CPI",
199        "MetricName": "TRANSLATION_STALL_CPI"
200    },
201    {
202        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a load or store that suffered a translation miss",
203        "MetricExpr": "PM_EXEC_STALL_DERAT_ONLY_MISS / PM_RUN_INST_CMPL",
204        "MetricGroup": "CPI",
205        "MetricName": "DERAT_ONLY_MISS_STALL_CPI"
206    },
207    {
208        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is recovering from a TLB miss",
209        "MetricExpr": "PM_EXEC_STALL_DERAT_DTLB_MISS / PM_RUN_INST_CMPL",
210        "MetricGroup": "CPI",
211        "MetricName": "DERAT_DTLB_MISS_STALL_CPI"
212    },
213    {
214        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is executing in the LSU",
215        "MetricExpr": "PM_EXEC_STALL_LSU / PM_RUN_INST_CMPL",
216        "MetricGroup": "CPI",
217        "MetricName": "LSU_STALL_CPI"
218    },
219    {
220        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a load that is executing in the LSU",
221        "MetricExpr": "PM_EXEC_STALL_LOAD / PM_RUN_INST_CMPL",
222        "MetricGroup": "CPI",
223        "MetricName": "LOAD_STALL_CPI"
224    },
225    {
226        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from either the local L2 or local L3",
227        "MetricExpr": "PM_EXEC_STALL_DMISS_L2L3 / PM_RUN_INST_CMPL",
228        "MetricGroup": "CPI",
229        "MetricName": "DMISS_L2L3_STALL_CPI"
230    },
231    {
232        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from either the local L2 or local L3, with an RC dispatch conflict",
233        "MetricExpr": "PM_EXEC_STALL_DMISS_L2L3_CONFLICT / PM_RUN_INST_CMPL",
234        "MetricGroup": "CPI",
235        "MetricName": "DMISS_L2L3_CONFLICT_STALL_CPI"
236    },
237    {
238        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from either the local L2 or local L3, without an RC dispatch conflict",
239        "MetricExpr": "PM_EXEC_STALL_DMISS_L2L3_NOCONFLICT / PM_RUN_INST_CMPL",
240        "MetricGroup": "CPI",
241        "MetricName": "DMISS_L2L3_NOCONFLICT_STALL_CPI"
242    },
243    {
244        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from a source beyond the local L2 and local L3",
245        "MetricExpr": "PM_EXEC_STALL_DMISS_L3MISS / PM_RUN_INST_CMPL",
246        "MetricGroup": "CPI",
247        "MetricName": "DMISS_L3MISS_STALL_CPI"
248    },
249    {
250        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from a neighbor chiplet's L2 or L3 in the same chip",
251        "MetricExpr": "PM_EXEC_STALL_DMISS_L21_L31 / PM_RUN_INST_CMPL",
252        "MetricGroup": "CPI",
253        "MetricName": "DMISS_L21_L31_STALL_CPI"
254    },
255    {
256        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from L4, local memory or OpenCAPI chip",
257        "MetricExpr": "PM_EXEC_STALL_DMISS_LMEM / PM_RUN_INST_CMPL",
258        "MetricGroup": "CPI",
259        "MetricName": "DMISS_LMEM_STALL_CPI"
260    },
261    {
262        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from a remote chip (cache, L4, memory or OpenCAPI) in the same group",
263        "MetricExpr": "PM_EXEC_STALL_DMISS_OFF_CHIP / PM_RUN_INST_CMPL",
264        "MetricGroup": "CPI",
265        "MetricName": "DMISS_OFF_CHIP_STALL_CPI"
266    },
267    {
268        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is waiting for a load miss to resolve from a distant chip (cache, L4, memory or OpenCAPI chip)",
269        "MetricExpr": "PM_EXEC_STALL_DMISS_OFF_NODE / PM_RUN_INST_CMPL",
270        "MetricGroup": "CPI",
271        "MetricName": "DMISS_OFF_NODE_STALL_CPI"
272    },
273    {
274        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is executing a TLBIEL instruction",
275        "MetricExpr": "PM_EXEC_STALL_TLBIEL / PM_RUN_INST_CMPL",
276        "MetricGroup": "CPI",
277        "MetricName": "TLBIEL_STALL_CPI"
278    },
279    {
280        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is finishing a load after its data has been reloaded from a data source beyond the local L1, OR when the LSU is processing an L1-hit, OR when the NTF instruction merged with another load in the LMQ",
281        "MetricExpr": "PM_EXEC_STALL_LOAD_FINISH / PM_RUN_INST_CMPL",
282        "MetricGroup": "CPI",
283        "MetricName": "LOAD_FINISH_STALL_CPI"
284    },
285    {
286        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a store that is executing in the LSU",
287        "MetricExpr": "PM_EXEC_STALL_STORE / PM_RUN_INST_CMPL",
288        "MetricGroup": "CPI",
289        "MetricName": "STORE_STALL_CPI"
290    },
291    {
292        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is in the store unit outside of handling store misses or other special store operations",
293        "MetricExpr": "PM_EXEC_STALL_STORE_PIPE / PM_RUN_INST_CMPL",
294        "MetricGroup": "CPI",
295        "MetricName": "STORE_PIPE_STALL_CPI"
296    },
297    {
298        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a store whose cache line was not resident in the L1 and had to wait for allocation of the missing line into the L1",
299        "MetricExpr": "PM_EXEC_STALL_STORE_MISS / PM_RUN_INST_CMPL",
300        "MetricGroup": "CPI",
301        "MetricName": "STORE_MISS_STALL_CPI"
302    },
303    {
304        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a TLBIE instruction waiting for a response from the L2",
305        "MetricExpr": "PM_EXEC_STALL_TLBIE / PM_RUN_INST_CMPL",
306        "MetricGroup": "CPI",
307        "MetricName": "TLBIE_STALL_CPI"
308    },
309    {
310        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is executing a PTESYNC instruction",
311        "MetricExpr": "PM_EXEC_STALL_PTESYNC / PM_RUN_INST_CMPL",
312        "MetricGroup": "CPI",
313        "MetricName": "PTESYNC_STALL_CPI"
314    },
315    {
316        "BriefDescription": "Average cycles per completed instruction when the NTC instruction cannot complete because the thread was blocked",
317        "MetricExpr": "PM_CMPL_STALL / PM_RUN_INST_CMPL",
318        "MetricGroup": "CPI;CPI_STALL_RATIO",
319        "MetricName": "COMPLETION_STALL_CPI"
320    },
321    {
322        "BriefDescription": "Average cycles per completed instruction when the NTC instruction cannot complete because it was interrupted by ANY exception",
323        "MetricExpr": "PM_CMPL_STALL_EXCEPTION / PM_RUN_INST_CMPL",
324        "MetricGroup": "CPI",
325        "MetricName": "EXCEPTION_COMPLETION_STALL_CPI"
326    },
327    {
328        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is stuck at finish waiting for the non-speculative finish of either a STCX instruction waiting for its result or a load waiting for non-critical sectors of data and ECC",
329        "MetricExpr": "PM_CMPL_STALL_MEM_ECC / PM_RUN_INST_CMPL",
330        "MetricGroup": "CPI",
331        "MetricName": "MEM_ECC_COMPLETION_STALL_CPI"
332    },
333    {
334        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a STCX instruction waiting for resolution from the nest",
335        "MetricExpr": "PM_CMPL_STALL_STCX / PM_RUN_INST_CMPL",
336        "MetricGroup": "CPI",
337        "MetricName": "STCX_COMPLETION_STALL_CPI"
338    },
339    {
340        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a LWSYNC instruction waiting to complete",
341        "MetricExpr": "PM_CMPL_STALL_LWSYNC / PM_RUN_INST_CMPL",
342        "MetricGroup": "CPI",
343        "MetricName": "LWSYNC_COMPLETION_STALL_CPI"
344    },
345    {
346        "BriefDescription": "Average cycles per completed instruction when the NTC instruction is a HWSYNC instruction stuck at finish waiting for a response from the L2",
347        "MetricExpr": "PM_CMPL_STALL_HWSYNC / PM_RUN_INST_CMPL",
348        "MetricGroup": "CPI",
349        "MetricName": "HWSYNC_COMPLETION_STALL_CPI"
350    },
351    {
352        "BriefDescription": "Average cycles per completed instruction when the NTC instruction required special handling before completion",
353        "MetricExpr": "PM_CMPL_STALL_SPECIAL / PM_RUN_INST_CMPL",
354        "MetricGroup": "CPI",
355        "MetricName": "SPECIAL_COMPLETION_STALL_CPI"
356    },
357    {
358        "BriefDescription": "Average cycles per completed instruction when dispatch was stalled because fetch was being held, so there was nothing in the pipeline for this thread",
359        "MetricExpr": "PM_DISP_STALL_FETCH / PM_RUN_INST_CMPL",
360        "MetricGroup": "CPI",
361        "MetricName": "DISPATCH_STALL_FETCH_CPI"
362    },
363    {
364        "BriefDescription": "Average cycles per completed instruction when the NTC instruction was held at dispatch because of power management",
365        "MetricExpr": "PM_DISP_STALL_HELD_HALT_CYC / PM_RUN_INST_CMPL",
366        "MetricGroup": "CPI",
367        "MetricName": "DISPATCH_STALL_HELD_HALT_CPI"
368    },
369    {
370        "BriefDescription": "Percentage of flushes per completed instruction",
371        "MetricExpr": "PM_FLUSH / PM_RUN_INST_CMPL * 100",
372        "MetricGroup": "Others",
373        "MetricName": "FLUSH_RATE",
374        "ScaleUnit": "1%"
375    },
376    {
377        "BriefDescription": "Percentage of flushes due to a branch mispredict per completed instruction",
378        "MetricExpr": "PM_FLUSH_MPRED / PM_RUN_INST_CMPL * 100",
379        "MetricGroup": "Others",
380        "MetricName": "BR_MPRED_FLUSH_RATE",
381        "ScaleUnit": "1%"
382    },
383    {
384        "BriefDescription": "Percentage of branch mispredictions per completed instruction",
385        "MetricExpr": "PM_BR_MPRED_CMPL / PM_RUN_INST_CMPL",
386        "MetricGroup": "Others",
387        "MetricName": "BRANCH_MISPREDICTION_RATE"
388    },
389    {
390        "BriefDescription": "Percentage of finished loads that missed in the L1",
391        "MetricExpr": "PM_LD_MISS_L1 / PM_LD_REF_L1 * 100",
392        "MetricGroup": "Others",
393        "MetricName": "L1_LD_MISS_RATIO",
394        "ScaleUnit": "1%"
395    },
396    {
397        "BriefDescription": "Percentage of completed instructions that were loads that missed the L1",
398        "MetricExpr": "PM_LD_MISS_L1 / PM_RUN_INST_CMPL * 100",
399        "MetricGroup": "Others",
400        "MetricName": "L1_LD_MISS_RATE",
401        "ScaleUnit": "1%"
402    },
403    {
404        "BriefDescription": "Percentage of completed instructions that were stores that missed the L1",
405        "MetricExpr": "PM_ST_MISS_L1 * 100 / PM_RUN_INST_CMPL",
406        "MetricGroup": "Others",
407        "MetricName": "L1_ST_MISS_RATE",
408        "ScaleUnit": "1%"
409    },
410    {
411        "BriefDescription": "Percentage of completed instructions when the DPTEG required for the load/store instruction in execution was missing from the TLB",
412        "MetricExpr": "PM_DTLB_MISS / PM_RUN_INST_CMPL * 100",
413        "MetricGroup": "Others",
414        "MetricName": "DTLB_MISS_RATE",
415        "ScaleUnit": "1%"
416    },
417    {
418        "BriefDescription": "Average number of completed instructions dispatched per instruction completed",
419        "MetricExpr": "PM_INST_DISP / PM_RUN_INST_CMPL",
420        "MetricGroup": "General",
421        "MetricName": "DISPATCH_PER_INST_CMPL"
422    },
423    {
424        "BriefDescription": "Percentage of completed instructions that were a demand load that did not hit in the L1 or L2",
425        "MetricExpr": "PM_DATA_FROM_L2MISS / PM_RUN_INST_CMPL * 100",
426        "MetricGroup": "General",
427        "MetricName": "L2_LD_MISS_RATE",
428        "ScaleUnit": "1%"
429    },
430    {
431        "BriefDescription": "Percentage of completed instructions that were demand fetches that missed the L1 icache",
432        "MetricExpr": "PM_L1_ICACHE_MISS / PM_RUN_INST_CMPL * 100",
433        "MetricGroup": "Instruction_Misses",
434        "MetricName": "L1_INST_MISS_RATE",
435        "ScaleUnit": "1%"
436    },
437    {
438        "BriefDescription": "Percentage of completed instructions that were demand fetches that reloaded from beyond the L3 icache",
439        "MetricExpr": "PM_INST_FROM_L3MISS / PM_RUN_INST_CMPL * 100",
440        "MetricGroup": "General",
441        "MetricName": "L3_INST_MISS_RATE",
442        "ScaleUnit": "1%"
443    },
444    {
445        "BriefDescription": "Average number of completed instructions per cycle",
446        "MetricExpr": "PM_INST_CMPL / PM_CYC",
447        "MetricGroup": "General",
448        "MetricName": "IPC"
449    },
450    {
451        "BriefDescription": "Average number of cycles per completed instruction group",
452        "MetricExpr": "PM_CYC / PM_1PLUS_PPC_CMPL",
453        "MetricGroup": "General",
454        "MetricName": "CYCLES_PER_COMPLETED_INSTRUCTIONS_SET"
455    },
456    {
457        "BriefDescription": "Percentage of cycles when at least 1 instruction dispatched",
458        "MetricExpr": "PM_1PLUS_PPC_DISP / PM_RUN_CYC * 100",
459        "MetricGroup": "General",
460        "MetricName": "CYCLES_ATLEAST_ONE_INST_DISPATCHED",
461        "ScaleUnit": "1%"
462    },
463    {
464        "BriefDescription": "Average number of finished loads per completed instruction",
465        "MetricExpr": "PM_LD_REF_L1 / PM_RUN_INST_CMPL",
466        "MetricGroup": "General",
467        "MetricName": "LOADS_PER_INST"
468    },
469    {
470        "BriefDescription": "Percentage of demand loads that reloaded from beyond the L2 per completed instruction",
471        "MetricExpr": "PM_DATA_FROM_L2MISS / PM_RUN_INST_CMPL * 100",
472        "MetricGroup": "dL1_Reloads",
473        "MetricName": "DL1_RELOAD_FROM_L2_MISS_RATE",
474        "ScaleUnit": "1%"
475    },
476    {
477        "BriefDescription": "Percentage of demand loads that reloaded from beyond the L3 per completed instruction",
478        "MetricExpr": "PM_DATA_FROM_L3MISS / PM_RUN_INST_CMPL * 100",
479        "MetricGroup": "dL1_Reloads",
480        "MetricName": "DL1_RELOAD_FROM_L3_MISS_RATE",
481        "ScaleUnit": "1%"
482    },
483    {
484        "BriefDescription": "Percentage of ITLB misses per completed run instruction",
485        "MetricExpr": "PM_ITLB_MISS / PM_RUN_INST_CMPL * 100",
486        "MetricGroup": "General",
487        "MetricName": "ITLB_MISS_RATE",
488        "ScaleUnit": "1%"
489    },
490    {
491        "BriefDescription": "Percentage of DERAT misses with 4k page size per completed instruction",
492        "MetricExpr": "PM_DERAT_MISS_4K / PM_RUN_INST_CMPL * 100",
493        "MetricGroup": "Translation",
494        "MetricName": "DERAT_4K_MISS_RATE",
495        "ScaleUnit": "1%"
496    },
497    {
498        "BriefDescription": "Percentage of DERAT misses with 64k page size per completed instruction",
499        "MetricExpr": "PM_DERAT_MISS_64K / PM_RUN_INST_CMPL * 100",
500        "MetricGroup": "Translation",
501        "MetricName": "DERAT_64K_MISS_RATE",
502        "ScaleUnit": "1%"
503    },
504    {
505        "BriefDescription": "Average number of run cycles per completed instruction",
506        "MetricExpr": "PM_RUN_CYC / PM_RUN_INST_CMPL",
507        "MetricGroup": "General",
508        "MetricName": "RUN_CPI"
509    },
510    {
511        "BriefDescription": "Percentage of DERAT misses per completed instruction",
512        "MetricExpr": "PM_DERAT_MISS / PM_RUN_INST_CMPL * 100",
513        "MetricGroup": "Translation",
514        "MetricName": "DERAT_MISS_RATE",
515        "ScaleUnit": "1%"
516    },
517    {
518        "BriefDescription": "Average number of completed instructions per run cycle",
519        "MetricExpr": "PM_RUN_INST_CMPL / PM_RUN_CYC",
520        "MetricGroup": "General",
521        "MetricName": "RUN_IPC"
522    },
523    {
524        "BriefDescription": "Average number of completed instructions per instruction group",
525        "MetricExpr": "PM_RUN_INST_CMPL / PM_1PLUS_PPC_CMPL",
526        "MetricGroup": "General",
527        "MetricName": "AVERAGE_COMPLETED_INSTRUCTION_SET_SIZE"
528    },
529    {
530        "BriefDescription": "Average number of finished instructions per completed instructions",
531        "MetricExpr": "PM_INST_FIN / PM_RUN_INST_CMPL",
532        "MetricGroup": "General",
533        "MetricName": "INST_FIN_PER_CMPL"
534    },
535    {
536        "BriefDescription": "Average cycles per completed instruction when the NTF instruction is completing and the finish was overlooked",
537        "MetricExpr": "PM_EXEC_STALL_UNKNOWN / PM_RUN_INST_CMPL",
538        "MetricGroup": "General",
539        "MetricName": "EXEC_STALL_UNKOWN_CPI"
540    },
541    {
542        "BriefDescription": "Percentage of finished branches that were taken",
543        "MetricExpr": "PM_BR_TAKEN_CMPL / PM_BR_FIN * 100",
544        "MetricGroup": "General",
545        "MetricName": "TAKEN_BRANCHES",
546        "ScaleUnit": "1%"
547    },
548    {
549        "BriefDescription": "Percentage of completed instructions that were a demand load that did not hit in the L1, L2, or the L3",
550        "MetricExpr": "PM_DATA_FROM_L3MISS / PM_RUN_INST_CMPL * 100",
551        "MetricGroup": "General",
552        "MetricName": "L3_LD_MISS_RATE",
553        "ScaleUnit": "1%"
554    },
555    {
556        "BriefDescription": "Average number of finished branches per completed instruction",
557        "MetricExpr": "PM_BR_FIN / PM_RUN_INST_CMPL",
558        "MetricGroup": "General",
559        "MetricName": "BRANCHES_PER_INST"
560    },
561    {
562        "BriefDescription": "Average number of instructions finished in the LSU per completed instruction",
563        "MetricExpr": "PM_LSU_FIN / PM_RUN_INST_CMPL",
564        "MetricGroup": "General",
565        "MetricName": "LSU_PER_INST"
566    },
567    {
568        "BriefDescription": "Average number of instructions finished in the VSU per completed instruction",
569        "MetricExpr": "PM_VSU_FIN / PM_RUN_INST_CMPL",
570        "MetricGroup": "General",
571        "MetricName": "VSU_PER_INST"
572    },
573    {
574        "BriefDescription": "Average number of TLBIE instructions finished in the LSU per completed instruction",
575        "MetricExpr": "PM_TLBIE_FIN / PM_RUN_INST_CMPL",
576        "MetricGroup": "General",
577        "MetricName": "TLBIE_PER_INST"
578    },
579    {
580        "BriefDescription": "Average number of STCX instructions finshed per completed instruction",
581        "MetricExpr": "PM_STCX_FIN / PM_RUN_INST_CMPL",
582        "MetricGroup": "General",
583        "MetricName": "STCX_PER_INST"
584    },
585    {
586        "BriefDescription": "Average number of LARX instructions finshed per completed instruction",
587        "MetricExpr": "PM_LARX_FIN / PM_RUN_INST_CMPL",
588        "MetricGroup": "General",
589        "MetricName": "LARX_PER_INST"
590    },
591    {
592        "BriefDescription": "Average number of PTESYNC instructions finshed per completed instruction",
593        "MetricExpr": "PM_PTESYNC_FIN / PM_RUN_INST_CMPL",
594        "MetricGroup": "General",
595        "MetricName": "PTESYNC_PER_INST"
596    },
597    {
598        "BriefDescription": "Average number of simple fixed-point instructions finshed in the store unit per completed instruction",
599        "MetricExpr": "PM_FX_LSU_FIN / PM_RUN_INST_CMPL",
600        "MetricGroup": "General",
601        "MetricName": "FX_PER_INST"
602    },
603    {
604        "BriefDescription": "Percentage of demand load misses that reloaded the L1 cache",
605        "MetricExpr": "PM_LD_DEMAND_MISS_L1 / PM_LD_MISS_L1 * 100",
606        "MetricGroup": "General",
607        "MetricName": "DL1_MISS_RELOADS",
608        "ScaleUnit": "1%"
609    },
610    {
611        "BriefDescription": "Percentage of demand load misses that reloaded from beyond the local L2",
612        "MetricExpr": "PM_DATA_FROM_L2MISS / PM_LD_DEMAND_MISS_L1 * 100",
613        "MetricGroup": "dL1_Reloads",
614        "MetricName": "DL1_RELOAD_FROM_L2_MISS",
615        "ScaleUnit": "1%"
616    },
617    {
618        "BriefDescription": "Percentage of demand load misses that reloaded from beyond the local L3",
619        "MetricExpr": "PM_DATA_FROM_L3MISS / PM_LD_DEMAND_MISS_L1 * 100",
620        "MetricGroup": "dL1_Reloads",
621        "MetricName": "DL1_RELOAD_FROM_L3_MISS",
622        "ScaleUnit": "1%"
623    },
624    {
625        "BriefDescription": "Percentage of cycles stalled due to the NTC instruction waiting for a load miss to resolve from a source beyond the local L2 and local L3",
626        "MetricExpr": "DMISS_L3MISS_STALL_CPI / RUN_CPI * 100",
627        "MetricGroup": "General",
628        "MetricName": "DCACHE_MISS_CPI",
629        "ScaleUnit": "1%"
630    },
631    {
632        "BriefDescription": "Percentage of DERAT misses with 2M page size per completed instruction",
633        "MetricExpr": "PM_DERAT_MISS_2M / PM_RUN_INST_CMPL * 100",
634        "MetricGroup": "Translation",
635        "MetricName": "DERAT_2M_MISS_RATE",
636        "ScaleUnit": "1%"
637    },
638    {
639        "BriefDescription": "Percentage of DERAT misses with 16M page size per completed instruction",
640        "MetricExpr": "PM_DERAT_MISS_16M / PM_RUN_INST_CMPL * 100",
641        "MetricGroup": "Translation",
642        "MetricName": "DERAT_16M_MISS_RATE",
643        "ScaleUnit": "1%"
644    },
645    {
646        "BriefDescription": "Percentage of DERAT misses with 1G page size per completed run instruction",
647        "MetricExpr": "PM_DERAT_MISS_1G * 100 / PM_RUN_INST_CMPL",
648        "MetricGroup": "Translation",
649        "MetricName": "DERAT_1G_MISS_RATE",
650        "ScaleUnit": "1%"
651    },
652    {
653        "BriefDescription": "DERAT miss ratio for 4K page size",
654        "MetricExpr": "PM_DERAT_MISS_4K / PM_DERAT_MISS",
655        "MetricGroup": "Translation",
656        "MetricName": "DERAT_4K_MISS_RATIO"
657    },
658    {
659        "BriefDescription": "DERAT miss ratio for 2M page size",
660        "MetricExpr": "PM_DERAT_MISS_2M / PM_DERAT_MISS",
661        "MetricGroup": "Translation",
662        "MetricName": "DERAT_2M_MISS_RATIO"
663    },
664    {
665        "BriefDescription": "DERAT miss ratio for 16M page size",
666        "MetricExpr": "PM_DERAT_MISS_16M / PM_DERAT_MISS",
667        "MetricGroup": "Translation",
668        "MetricName": "DERAT_16M_MISS_RATIO"
669    },
670    {
671        "BriefDescription": "DERAT miss ratio for 1G page size",
672        "MetricExpr": "PM_DERAT_MISS_1G / PM_DERAT_MISS",
673        "MetricGroup": "Translation",
674        "MetricName": "DERAT_1G_MISS_RATIO"
675    },
676    {
677        "BriefDescription": "DERAT miss ratio for 64K page size",
678        "MetricExpr": "PM_DERAT_MISS_64K / PM_DERAT_MISS",
679        "MetricGroup": "Translation",
680        "MetricName": "DERAT_64K_MISS_RATIO"
681    },
682    {
683        "BriefDescription": "Percentage of DERAT misses that resulted in TLB reloads",
684        "MetricExpr": "PM_DTLB_MISS / PM_DERAT_MISS * 100",
685        "MetricGroup": "Translation",
686        "MetricName": "DERAT_MISS_RELOAD",
687        "ScaleUnit": "1%"
688    },
689    {
690        "BriefDescription": "Percentage of icache misses that were reloaded from beyond the local L3",
691        "MetricExpr": "PM_INST_FROM_L3MISS / PM_L1_ICACHE_MISS * 100",
692        "MetricGroup": "Instruction_Misses",
693        "MetricName": "INST_FROM_L3_MISS",
694        "ScaleUnit": "1%"
695    },
696    {
697        "BriefDescription": "Percentage of icache reloads from the beyond the L3 per completed instruction",
698        "MetricExpr": "PM_INST_FROM_L3MISS / PM_RUN_INST_CMPL * 100",
699        "MetricGroup": "Instruction_Misses",
700        "MetricName": "INST_FROM_L3_MISS_RATE",
701        "ScaleUnit": "1%"
702    }
703]
704