xref: /OK3568_Linux_fs/kernel/tools/perf/pmu-events/arch/powerpc/power9/metrics.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "MetricExpr": "PM_BR_MPRED_CMPL / PM_BR_PRED * 100",
4*4882a593Smuzhiyun        "MetricGroup": "branch_prediction",
5*4882a593Smuzhiyun        "MetricName": "br_misprediction_percent"
6*4882a593Smuzhiyun    },
7*4882a593Smuzhiyun    {
8*4882a593Smuzhiyun        "BriefDescription": "Count cache branch misprediction per instruction",
9*4882a593Smuzhiyun        "MetricExpr": "PM_BR_MPRED_CCACHE / PM_RUN_INST_CMPL * 100",
10*4882a593Smuzhiyun        "MetricGroup": "branch_prediction",
11*4882a593Smuzhiyun        "MetricName": "ccache_mispredict_rate_percent"
12*4882a593Smuzhiyun    },
13*4882a593Smuzhiyun    {
14*4882a593Smuzhiyun        "BriefDescription": "Count cache branch misprediction",
15*4882a593Smuzhiyun        "MetricExpr": "PM_BR_MPRED_CCACHE / PM_BR_PRED_CCACHE * 100",
16*4882a593Smuzhiyun        "MetricGroup": "branch_prediction",
17*4882a593Smuzhiyun        "MetricName": "ccache_misprediction_percent"
18*4882a593Smuzhiyun    },
19*4882a593Smuzhiyun    {
20*4882a593Smuzhiyun        "BriefDescription": "Link stack branch misprediction",
21*4882a593Smuzhiyun        "MetricExpr": "PM_BR_MPRED_LSTACK / PM_RUN_INST_CMPL * 100",
22*4882a593Smuzhiyun        "MetricGroup": "branch_prediction",
23*4882a593Smuzhiyun        "MetricName": "lstack_mispredict_rate_percent"
24*4882a593Smuzhiyun    },
25*4882a593Smuzhiyun    {
26*4882a593Smuzhiyun        "BriefDescription": "Link stack branch misprediction",
27*4882a593Smuzhiyun        "MetricExpr": "PM_BR_MPRED_LSTACK/ PM_BR_PRED_LSTACK * 100",
28*4882a593Smuzhiyun        "MetricGroup": "branch_prediction",
29*4882a593Smuzhiyun        "MetricName": "lstack_misprediction_percent"
30*4882a593Smuzhiyun    },
31*4882a593Smuzhiyun    {
32*4882a593Smuzhiyun        "BriefDescription": "% Branches Taken",
33*4882a593Smuzhiyun        "MetricExpr": "PM_BR_TAKEN_CMPL * 100 / PM_BRU_FIN",
34*4882a593Smuzhiyun        "MetricGroup": "branch_prediction",
35*4882a593Smuzhiyun        "MetricName": "taken_branches_percent"
36*4882a593Smuzhiyun    },
37*4882a593Smuzhiyun    {
38*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to a Branch Unit",
39*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_BRU/PM_RUN_INST_CMPL",
40*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
41*4882a593Smuzhiyun        "MetricName": "bru_stall_cpi"
42*4882a593Smuzhiyun    },
43*4882a593Smuzhiyun    {
44*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was routed to the crypto execution pipe and was waiting to finish",
45*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_CRYPTO/PM_RUN_INST_CMPL",
46*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
47*4882a593Smuzhiyun        "MetricName": "crypto_stall_cpi"
48*4882a593Smuzhiyun    },
49*4882a593Smuzhiyun    {
50*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load that missed the L1 and was waiting for the data to return from the nest",
51*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DCACHE_MISS/PM_RUN_INST_CMPL",
52*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
53*4882a593Smuzhiyun        "MetricName": "dcache_miss_stall_cpi"
54*4882a593Smuzhiyun    },
55*4882a593Smuzhiyun    {
56*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a multi-cycle instruction issued to the Decimal Floating Point execution pipe and waiting to finish.",
57*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DFLONG/PM_RUN_INST_CMPL",
58*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
59*4882a593Smuzhiyun        "MetricName": "dflong_stall_cpi"
60*4882a593Smuzhiyun    },
61*4882a593Smuzhiyun    {
62*4882a593Smuzhiyun        "BriefDescription": "Stalls due to short latency decimal floating ops.",
63*4882a593Smuzhiyun        "MetricExpr": "dfu_stall_cpi - dflong_stall_cpi",
64*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
65*4882a593Smuzhiyun        "MetricName": "dfu_other_stall_cpi"
66*4882a593Smuzhiyun    },
67*4882a593Smuzhiyun    {
68*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was issued to the Decimal Floating Point execution pipe and waiting to finish.",
69*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DFU/PM_RUN_INST_CMPL",
70*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
71*4882a593Smuzhiyun        "MetricName": "dfu_stall_cpi"
72*4882a593Smuzhiyun    },
73*4882a593Smuzhiyun    {
74*4882a593Smuzhiyun        "BriefDescription": "Completion stall by Dcache miss which resolved off node memory/cache",
75*4882a593Smuzhiyun        "MetricExpr": "dmiss_non_local_stall_cpi - dmiss_remote_stall_cpi",
76*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
77*4882a593Smuzhiyun        "MetricName": "dmiss_distant_stall_cpi"
78*4882a593Smuzhiyun    },
79*4882a593Smuzhiyun    {
80*4882a593Smuzhiyun        "BriefDescription": "Completion stall by Dcache miss which resolved on chip ( excluding local L2/L3)",
81*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DMISS_L21_L31/PM_RUN_INST_CMPL",
82*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
83*4882a593Smuzhiyun        "MetricName": "dmiss_l21_l31_stall_cpi"
84*4882a593Smuzhiyun    },
85*4882a593Smuzhiyun    {
86*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to cache miss that resolves in the L2 or L3 with a conflict",
87*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DMISS_L2L3_CONFLICT/PM_RUN_INST_CMPL",
88*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
89*4882a593Smuzhiyun        "MetricName": "dmiss_l2l3_conflict_stall_cpi"
90*4882a593Smuzhiyun    },
91*4882a593Smuzhiyun    {
92*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to cache miss that resolves in the L2 or L3 without conflict",
93*4882a593Smuzhiyun        "MetricExpr": "dmiss_l2l3_stall_cpi - dmiss_l2l3_conflict_stall_cpi",
94*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
95*4882a593Smuzhiyun        "MetricName": "dmiss_l2l3_noconflict_stall_cpi"
96*4882a593Smuzhiyun    },
97*4882a593Smuzhiyun    {
98*4882a593Smuzhiyun        "BriefDescription": "Completion stall by Dcache miss which resolved in L2/L3",
99*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DMISS_L2L3/PM_RUN_INST_CMPL",
100*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
101*4882a593Smuzhiyun        "MetricName": "dmiss_l2l3_stall_cpi"
102*4882a593Smuzhiyun    },
103*4882a593Smuzhiyun    {
104*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to cache miss resolving missed the L3",
105*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DMISS_L3MISS/PM_RUN_INST_CMPL",
106*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
107*4882a593Smuzhiyun        "MetricName": "dmiss_l3miss_stall_cpi"
108*4882a593Smuzhiyun    },
109*4882a593Smuzhiyun    {
110*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to cache miss that resolves in local memory",
111*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DMISS_LMEM/PM_RUN_INST_CMPL",
112*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
113*4882a593Smuzhiyun        "MetricName": "dmiss_lmem_stall_cpi"
114*4882a593Smuzhiyun    },
115*4882a593Smuzhiyun    {
116*4882a593Smuzhiyun        "BriefDescription": "Completion stall by Dcache miss which resolved outside of local memory",
117*4882a593Smuzhiyun        "MetricExpr": "dmiss_l3miss_stall_cpi - dmiss_l21_l31_stall_cpi - dmiss_lmem_stall_cpi",
118*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
119*4882a593Smuzhiyun        "MetricName": "dmiss_non_local_stall_cpi"
120*4882a593Smuzhiyun    },
121*4882a593Smuzhiyun    {
122*4882a593Smuzhiyun        "BriefDescription": "Completion stall by Dcache miss which resolved from remote chip (cache or memory)",
123*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DMISS_REMOTE/PM_RUN_INST_CMPL",
124*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
125*4882a593Smuzhiyun        "MetricName": "dmiss_remote_stall_cpi"
126*4882a593Smuzhiyun    },
127*4882a593Smuzhiyun    {
128*4882a593Smuzhiyun        "BriefDescription": "Stalls due to short latency double precision ops.",
129*4882a593Smuzhiyun        "MetricExpr": "dp_stall_cpi - dplong_stall_cpi",
130*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
131*4882a593Smuzhiyun        "MetricName": "dp_other_stall_cpi"
132*4882a593Smuzhiyun    },
133*4882a593Smuzhiyun    {
134*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a scalar instruction issued to the Double Precision execution pipe and waiting to finish. Includes binary floating point instructions in 32 and 64 bit binary floating point format.",
135*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DP/PM_RUN_INST_CMPL",
136*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
137*4882a593Smuzhiyun        "MetricName": "dp_stall_cpi"
138*4882a593Smuzhiyun    },
139*4882a593Smuzhiyun    {
140*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a scalar multi-cycle instruction issued to the Double Precision execution pipe and waiting to finish. Includes binary floating point instructions in 32 and 64 bit binary floating point format.",
141*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DPLONG/PM_RUN_INST_CMPL",
142*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
143*4882a593Smuzhiyun        "MetricName": "dplong_stall_cpi"
144*4882a593Smuzhiyun    },
145*4882a593Smuzhiyun    {
146*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction is an EIEIO waiting for response from L2",
147*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_EIEIO/PM_RUN_INST_CMPL",
148*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
149*4882a593Smuzhiyun        "MetricName": "eieio_stall_cpi"
150*4882a593Smuzhiyun    },
151*4882a593Smuzhiyun    {
152*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the next to finish instruction suffered an ERAT miss and the EMQ was full",
153*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_EMQ_FULL/PM_RUN_INST_CMPL",
154*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
155*4882a593Smuzhiyun        "MetricName": "emq_full_stall_cpi"
156*4882a593Smuzhiyun    },
157*4882a593Smuzhiyun    {
158*4882a593Smuzhiyun        "MetricExpr": "erat_miss_stall_cpi + emq_full_stall_cpi",
159*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
160*4882a593Smuzhiyun        "MetricName": "emq_stall_cpi"
161*4882a593Smuzhiyun    },
162*4882a593Smuzhiyun    {
163*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load or store that suffered a translation miss",
164*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_ERAT_MISS/PM_RUN_INST_CMPL",
165*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
166*4882a593Smuzhiyun        "MetricName": "erat_miss_stall_cpi"
167*4882a593Smuzhiyun    },
168*4882a593Smuzhiyun    {
169*4882a593Smuzhiyun        "BriefDescription": "Cycles in which the NTC instruction is not allowed to complete because it was interrupted by ANY exception, which has to be serviced before the instruction can complete",
170*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_EXCEPTION/PM_RUN_INST_CMPL",
171*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
172*4882a593Smuzhiyun        "MetricName": "exception_stall_cpi"
173*4882a593Smuzhiyun    },
174*4882a593Smuzhiyun    {
175*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to execution units for other reasons.",
176*4882a593Smuzhiyun        "MetricExpr": "exec_unit_stall_cpi - scalar_stall_cpi - vector_stall_cpi",
177*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
178*4882a593Smuzhiyun        "MetricName": "exec_unit_other_stall_cpi"
179*4882a593Smuzhiyun    },
180*4882a593Smuzhiyun    {
181*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to execution units (FXU/VSU/CRU)",
182*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_EXEC_UNIT/PM_RUN_INST_CMPL",
183*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
184*4882a593Smuzhiyun        "MetricName": "exec_unit_stall_cpi"
185*4882a593Smuzhiyun    },
186*4882a593Smuzhiyun    {
187*4882a593Smuzhiyun        "BriefDescription": "Cycles in which the NTC instruction is not allowed to complete because any of the 4 threads in the same core suffered a flush, which blocks completion",
188*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_FLUSH_ANY_THREAD/PM_RUN_INST_CMPL",
189*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
190*4882a593Smuzhiyun        "MetricName": "flush_any_thread_stall_cpi"
191*4882a593Smuzhiyun    },
192*4882a593Smuzhiyun    {
193*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to a long latency scalar fixed point instruction (division, square root)",
194*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_FXLONG/PM_RUN_INST_CMPL",
195*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
196*4882a593Smuzhiyun        "MetricName": "fxlong_stall_cpi"
197*4882a593Smuzhiyun    },
198*4882a593Smuzhiyun    {
199*4882a593Smuzhiyun        "BriefDescription": "Stalls due to short latency integer ops",
200*4882a593Smuzhiyun        "MetricExpr": "fxu_stall_cpi - fxlong_stall_cpi",
201*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
202*4882a593Smuzhiyun        "MetricName": "fxu_other_stall_cpi"
203*4882a593Smuzhiyun    },
204*4882a593Smuzhiyun    {
205*4882a593Smuzhiyun        "BriefDescription": "Finish stall due to a scalar fixed point or CR instruction in the execution pipeline. These instructions get routed to the ALU, ALU2, and DIV pipes",
206*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_FXU/PM_RUN_INST_CMPL",
207*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
208*4882a593Smuzhiyun        "MetricName": "fxu_stall_cpi"
209*4882a593Smuzhiyun    },
210*4882a593Smuzhiyun    {
211*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to branch mispred",
212*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_BR_MPRED/PM_RUN_INST_CMPL",
213*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
214*4882a593Smuzhiyun        "MetricName": "ict_noslot_br_mpred_cpi"
215*4882a593Smuzhiyun    },
216*4882a593Smuzhiyun    {
217*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to Icache Miss and branch mispred",
218*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_BR_MPRED_ICMISS/PM_RUN_INST_CMPL",
219*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
220*4882a593Smuzhiyun        "MetricName": "ict_noslot_br_mpred_icmiss_cpi"
221*4882a593Smuzhiyun    },
222*4882a593Smuzhiyun    {
223*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table other stalls",
224*4882a593Smuzhiyun        "MetricExpr": "nothing_dispatched_cpi - ict_noslot_ic_miss_cpi - ict_noslot_br_mpred_icmiss_cpi - ict_noslot_br_mpred_cpi - ict_noslot_disp_held_cpi",
225*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
226*4882a593Smuzhiyun        "MetricName": "ict_noslot_cyc_other_cpi"
227*4882a593Smuzhiyun    },
228*4882a593Smuzhiyun    {
229*4882a593Smuzhiyun        "BriefDescription": "Cycles in which the NTC instruciton is held at dispatch for any reason",
230*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD/PM_RUN_INST_CMPL",
231*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
232*4882a593Smuzhiyun        "MetricName": "ict_noslot_disp_held_cpi"
233*4882a593Smuzhiyun    },
234*4882a593Smuzhiyun    {
235*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to dispatch holds because the History Buffer was full. Could be GPR/VSR/VMR/FPR/CR/XVF",
236*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_HB_FULL/PM_RUN_INST_CMPL",
237*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
238*4882a593Smuzhiyun        "MetricName": "ict_noslot_disp_held_hb_full_cpi"
239*4882a593Smuzhiyun    },
240*4882a593Smuzhiyun    {
241*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to dispatch hold on this thread due to Issue q full, BRQ full, XVCF Full, Count cache, Link, Tar full",
242*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_ISSQ/PM_RUN_INST_CMPL",
243*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
244*4882a593Smuzhiyun        "MetricName": "ict_noslot_disp_held_issq_cpi"
245*4882a593Smuzhiyun    },
246*4882a593Smuzhiyun    {
247*4882a593Smuzhiyun        "BriefDescription": "ICT_NOSLOT_DISP_HELD_OTHER_CPI",
248*4882a593Smuzhiyun        "MetricExpr": "ict_noslot_disp_held_cpi - ict_noslot_disp_held_hb_full_cpi - ict_noslot_disp_held_sync_cpi - ict_noslot_disp_held_tbegin_cpi - ict_noslot_disp_held_issq_cpi",
249*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
250*4882a593Smuzhiyun        "MetricName": "ict_noslot_disp_held_other_cpi"
251*4882a593Smuzhiyun    },
252*4882a593Smuzhiyun    {
253*4882a593Smuzhiyun        "BriefDescription": "Dispatch held due to a synchronizing instruction at dispatch",
254*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_SYNC/PM_RUN_INST_CMPL",
255*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
256*4882a593Smuzhiyun        "MetricName": "ict_noslot_disp_held_sync_cpi"
257*4882a593Smuzhiyun    },
258*4882a593Smuzhiyun    {
259*4882a593Smuzhiyun        "BriefDescription": "the NTC instruction is being held at dispatch because it is a tbegin instruction and there is an older tbegin in the pipeline that must complete before the younger tbegin can dispatch",
260*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_TBEGIN/PM_RUN_INST_CMPL",
261*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
262*4882a593Smuzhiyun        "MetricName": "ict_noslot_disp_held_tbegin_cpi"
263*4882a593Smuzhiyun    },
264*4882a593Smuzhiyun    {
265*4882a593Smuzhiyun        "BriefDescription": "ICT_NOSLOT_IC_L2_CPI",
266*4882a593Smuzhiyun        "MetricExpr": "ict_noslot_ic_miss_cpi - ict_noslot_ic_l3_cpi - ict_noslot_ic_l3miss_cpi",
267*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
268*4882a593Smuzhiyun        "MetricName": "ict_noslot_ic_l2_cpi"
269*4882a593Smuzhiyun    },
270*4882a593Smuzhiyun    {
271*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to icache misses that were sourced from the local L3",
272*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_IC_L3/PM_RUN_INST_CMPL",
273*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
274*4882a593Smuzhiyun        "MetricName": "ict_noslot_ic_l3_cpi"
275*4882a593Smuzhiyun    },
276*4882a593Smuzhiyun    {
277*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to icache misses that were sourced from beyond the local L3. The source could be local/remote/distant memory or another core's cache",
278*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_IC_L3MISS/PM_RUN_INST_CMPL",
279*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
280*4882a593Smuzhiyun        "MetricName": "ict_noslot_ic_l3miss_cpi"
281*4882a593Smuzhiyun    },
282*4882a593Smuzhiyun    {
283*4882a593Smuzhiyun        "BriefDescription": "Instruction Completion Table empty for this thread due to Icache Miss",
284*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_IC_MISS/PM_RUN_INST_CMPL",
285*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
286*4882a593Smuzhiyun        "MetricName": "ict_noslot_ic_miss_cpi"
287*4882a593Smuzhiyun    },
288*4882a593Smuzhiyun    {
289*4882a593Smuzhiyun        "MetricExpr": "ntc_issue_held_darq_full_cpi + ntc_issue_held_arb_cpi + ntc_issue_held_other_cpi",
290*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
291*4882a593Smuzhiyun        "MetricName": "issue_hold_cpi"
292*4882a593Smuzhiyun    },
293*4882a593Smuzhiyun    {
294*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a larx waiting to be satisfied",
295*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LARX/PM_RUN_INST_CMPL",
296*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
297*4882a593Smuzhiyun        "MetricName": "larx_stall_cpi"
298*4882a593Smuzhiyun    },
299*4882a593Smuzhiyun    {
300*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load that hit on an older store and it was waiting for store data",
301*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LHS/PM_RUN_INST_CMPL",
302*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
303*4882a593Smuzhiyun        "MetricName": "lhs_stall_cpi"
304*4882a593Smuzhiyun    },
305*4882a593Smuzhiyun    {
306*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load that missed in the L1 and the LMQ was unable to accept this load miss request because it was full",
307*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LMQ_FULL/PM_RUN_INST_CMPL",
308*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
309*4882a593Smuzhiyun        "MetricName": "lmq_full_stall_cpi"
310*4882a593Smuzhiyun    },
311*4882a593Smuzhiyun    {
312*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load instruction with all its dependencies satisfied just going through the LSU pipe to finish",
313*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LOAD_FINISH/PM_RUN_INST_CMPL",
314*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
315*4882a593Smuzhiyun        "MetricName": "load_finish_stall_cpi"
316*4882a593Smuzhiyun    },
317*4882a593Smuzhiyun    {
318*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load that was held in LSAQ because the LRQ was full",
319*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LRQ_FULL/PM_RUN_INST_CMPL",
320*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
321*4882a593Smuzhiyun        "MetricName": "lrq_full_stall_cpi"
322*4882a593Smuzhiyun    },
323*4882a593Smuzhiyun    {
324*4882a593Smuzhiyun        "BriefDescription": "Finish stall due to LRQ miscellaneous reasons, lost arbitration to LMQ slot, bank collisions, set prediction cleanup, set prediction multihit and others",
325*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LRQ_OTHER/PM_RUN_INST_CMPL",
326*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
327*4882a593Smuzhiyun        "MetricName": "lrq_other_stall_cpi"
328*4882a593Smuzhiyun    },
329*4882a593Smuzhiyun    {
330*4882a593Smuzhiyun        "MetricExpr": "lmq_full_stall_cpi + st_fwd_stall_cpi + lhs_stall_cpi + lsu_mfspr_stall_cpi + larx_stall_cpi + lrq_other_stall_cpi",
331*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
332*4882a593Smuzhiyun        "MetricName": "lrq_stall_cpi"
333*4882a593Smuzhiyun    },
334*4882a593Smuzhiyun    {
335*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a load or store that was held in LSAQ because an older instruction from SRQ or LRQ won arbitration to the LSU pipe when this instruction tried to launch",
336*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LSAQ_ARB/PM_RUN_INST_CMPL",
337*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
338*4882a593Smuzhiyun        "MetricName": "lsaq_arb_stall_cpi"
339*4882a593Smuzhiyun    },
340*4882a593Smuzhiyun    {
341*4882a593Smuzhiyun        "MetricExpr": "lrq_full_stall_cpi + srq_full_stall_cpi + lsaq_arb_stall_cpi",
342*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
343*4882a593Smuzhiyun        "MetricName": "lsaq_stall_cpi"
344*4882a593Smuzhiyun    },
345*4882a593Smuzhiyun    {
346*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was an LSU op (other than a load or a store) with all its dependencies met and just going through the LSU pipe to finish",
347*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LSU_FIN/PM_RUN_INST_CMPL",
348*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
349*4882a593Smuzhiyun        "MetricName": "lsu_fin_stall_cpi"
350*4882a593Smuzhiyun    },
351*4882a593Smuzhiyun    {
352*4882a593Smuzhiyun        "BriefDescription": "Completion stall of one cycle because the LSU requested to flush the next iop in the sequence. It takes 1 cycle for the ISU to process this request before the LSU instruction is allowed to complete",
353*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LSU_FLUSH_NEXT/PM_RUN_INST_CMPL",
354*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
355*4882a593Smuzhiyun        "MetricName": "lsu_flush_next_stall_cpi"
356*4882a593Smuzhiyun    },
357*4882a593Smuzhiyun    {
358*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a mfspr instruction targeting an LSU SPR and it was waiting for the register data to be returned",
359*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LSU_MFSPR/PM_RUN_INST_CMPL",
360*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
361*4882a593Smuzhiyun        "MetricName": "lsu_mfspr_stall_cpi"
362*4882a593Smuzhiyun    },
363*4882a593Smuzhiyun    {
364*4882a593Smuzhiyun        "BriefDescription": "Completion LSU stall for other reasons",
365*4882a593Smuzhiyun        "MetricExpr": "lsu_stall_cpi - lsu_fin_stall_cpi - store_finish_stall_cpi - srq_stall_cpi - load_finish_stall_cpi + lsu_stall_dcache_miss_cpi - lrq_stall_cpi + emq_stall_cpi - lsaq_stall_cpi",
366*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
367*4882a593Smuzhiyun        "MetricName": "lsu_other_stall_cpi"
368*4882a593Smuzhiyun    },
369*4882a593Smuzhiyun    {
370*4882a593Smuzhiyun        "BriefDescription": "Completion stall by LSU instruction",
371*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_LSU/PM_RUN_INST_CMPL",
372*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
373*4882a593Smuzhiyun        "MetricName": "lsu_stall_cpi"
374*4882a593Smuzhiyun    },
375*4882a593Smuzhiyun    {
376*4882a593Smuzhiyun        "BriefDescription": "Completion stall because the ISU is updating the register and notifying the Effective Address Table (EAT)",
377*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_MTFPSCR/PM_RUN_INST_CMPL",
378*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
379*4882a593Smuzhiyun        "MetricName": "mtfpscr_stall_cpi"
380*4882a593Smuzhiyun    },
381*4882a593Smuzhiyun    {
382*4882a593Smuzhiyun        "BriefDescription": "Completion stall because the ISU is updating the TEXASR to keep track of the nested tbegin. This is a short delay, and it includes ROT",
383*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_NESTED_TBEGIN/PM_RUN_INST_CMPL",
384*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
385*4882a593Smuzhiyun        "MetricName": "nested_tbegin_stall_cpi"
386*4882a593Smuzhiyun    },
387*4882a593Smuzhiyun    {
388*4882a593Smuzhiyun        "BriefDescription": "Completion stall because the ISU is updating the TEXASR to keep track of the nested tend and decrement the TEXASR nested level. This is a short delay",
389*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_NESTED_TEND/PM_RUN_INST_CMPL",
390*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
391*4882a593Smuzhiyun        "MetricName": "nested_tend_stall_cpi"
392*4882a593Smuzhiyun    },
393*4882a593Smuzhiyun    {
394*4882a593Smuzhiyun        "BriefDescription": "Number of cycles the Instruction Completion Table has no itags assigned to this thread",
395*4882a593Smuzhiyun        "MetricExpr": "PM_ICT_NOSLOT_CYC/PM_RUN_INST_CMPL",
396*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
397*4882a593Smuzhiyun        "MetricName": "nothing_dispatched_cpi"
398*4882a593Smuzhiyun    },
399*4882a593Smuzhiyun    {
400*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was one that must finish at dispatch.",
401*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_NTC_DISP_FIN/PM_RUN_INST_CMPL",
402*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
403*4882a593Smuzhiyun        "MetricName": "ntc_disp_fin_stall_cpi"
404*4882a593Smuzhiyun    },
405*4882a593Smuzhiyun    {
406*4882a593Smuzhiyun        "BriefDescription": "Cycles in which the oldest instruction in the pipeline (NTC) finishes. This event is used to account for cycles in which work is being completed in the CPI stack",
407*4882a593Smuzhiyun        "MetricExpr": "PM_NTC_FIN/PM_RUN_INST_CMPL",
408*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
409*4882a593Smuzhiyun        "MetricName": "ntc_fin_cpi"
410*4882a593Smuzhiyun    },
411*4882a593Smuzhiyun    {
412*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to ntc flush",
413*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_NTC_FLUSH/PM_RUN_INST_CMPL",
414*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
415*4882a593Smuzhiyun        "MetricName": "ntc_flush_stall_cpi"
416*4882a593Smuzhiyun    },
417*4882a593Smuzhiyun    {
418*4882a593Smuzhiyun        "BriefDescription": "The NTC instruction is being held at dispatch because it lost arbitration onto the issue pipe to another instruction (from the same thread or a different thread)",
419*4882a593Smuzhiyun        "MetricExpr": "PM_NTC_ISSUE_HELD_ARB/PM_RUN_INST_CMPL",
420*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
421*4882a593Smuzhiyun        "MetricName": "ntc_issue_held_arb_cpi"
422*4882a593Smuzhiyun    },
423*4882a593Smuzhiyun    {
424*4882a593Smuzhiyun        "BriefDescription": "The NTC instruction is being held at dispatch because there are no slots in the DARQ for it",
425*4882a593Smuzhiyun        "MetricExpr": "PM_NTC_ISSUE_HELD_DARQ_FULL/PM_RUN_INST_CMPL",
426*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
427*4882a593Smuzhiyun        "MetricName": "ntc_issue_held_darq_full_cpi"
428*4882a593Smuzhiyun    },
429*4882a593Smuzhiyun    {
430*4882a593Smuzhiyun        "BriefDescription": "The NTC instruction is being held at dispatch during regular pipeline cycles, or because the VSU is busy with multi-cycle instructions, or because of a write-back collision with VSU",
431*4882a593Smuzhiyun        "MetricExpr": "PM_NTC_ISSUE_HELD_OTHER/PM_RUN_INST_CMPL",
432*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
433*4882a593Smuzhiyun        "MetricName": "ntc_issue_held_other_cpi"
434*4882a593Smuzhiyun    },
435*4882a593Smuzhiyun    {
436*4882a593Smuzhiyun        "BriefDescription": "Cycles unaccounted for.",
437*4882a593Smuzhiyun        "MetricExpr": "run_cpi - completion_cpi - thread_block_stall_cpi - stall_cpi - nothing_dispatched_cpi",
438*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
439*4882a593Smuzhiyun        "MetricName": "other_cpi"
440*4882a593Smuzhiyun    },
441*4882a593Smuzhiyun    {
442*4882a593Smuzhiyun        "BriefDescription": "Completion stall for other reasons",
443*4882a593Smuzhiyun        "MetricExpr": "stall_cpi - ntc_disp_fin_stall_cpi - ntc_flush_stall_cpi - lsu_stall_cpi - exec_unit_stall_cpi - bru_stall_cpi",
444*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
445*4882a593Smuzhiyun        "MetricName": "other_stall_cpi"
446*4882a593Smuzhiyun    },
447*4882a593Smuzhiyun    {
448*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a paste waiting for response from L2",
449*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_PASTE/PM_RUN_INST_CMPL",
450*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
451*4882a593Smuzhiyun        "MetricName": "paste_stall_cpi"
452*4882a593Smuzhiyun    },
453*4882a593Smuzhiyun    {
454*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was issued to the Permute execution pipe and waiting to finish.",
455*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_PM/PM_RUN_INST_CMPL",
456*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
457*4882a593Smuzhiyun        "MetricName": "pm_stall_cpi"
458*4882a593Smuzhiyun    },
459*4882a593Smuzhiyun    {
460*4882a593Smuzhiyun        "BriefDescription": "Run cycles per run instruction",
461*4882a593Smuzhiyun        "MetricExpr": "PM_RUN_CYC / PM_RUN_INST_CMPL",
462*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
463*4882a593Smuzhiyun        "MetricName": "run_cpi"
464*4882a593Smuzhiyun    },
465*4882a593Smuzhiyun    {
466*4882a593Smuzhiyun        "BriefDescription": "Run_cycles",
467*4882a593Smuzhiyun        "MetricExpr": "PM_RUN_CYC/PM_RUN_INST_CMPL",
468*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
469*4882a593Smuzhiyun        "MetricName": "run_cyc_cpi"
470*4882a593Smuzhiyun    },
471*4882a593Smuzhiyun    {
472*4882a593Smuzhiyun        "MetricExpr": "fxu_stall_cpi + dp_stall_cpi + dfu_stall_cpi + pm_stall_cpi + crypto_stall_cpi",
473*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
474*4882a593Smuzhiyun        "MetricName": "scalar_stall_cpi"
475*4882a593Smuzhiyun    },
476*4882a593Smuzhiyun    {
477*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was awaiting L2 response for an SLB",
478*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_SLB/PM_RUN_INST_CMPL",
479*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
480*4882a593Smuzhiyun        "MetricName": "slb_stall_cpi"
481*4882a593Smuzhiyun    },
482*4882a593Smuzhiyun    {
483*4882a593Smuzhiyun        "BriefDescription": "Finish stall while waiting for the non-speculative finish of either a stcx waiting for its result or a load waiting for non-critical sectors of data and ECC",
484*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_SPEC_FINISH/PM_RUN_INST_CMPL",
485*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
486*4882a593Smuzhiyun        "MetricName": "spec_finish_stall_cpi"
487*4882a593Smuzhiyun    },
488*4882a593Smuzhiyun    {
489*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a store that was held in LSAQ because the SRQ was full",
490*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_SRQ_FULL/PM_RUN_INST_CMPL",
491*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
492*4882a593Smuzhiyun        "MetricName": "srq_full_stall_cpi"
493*4882a593Smuzhiyun    },
494*4882a593Smuzhiyun    {
495*4882a593Smuzhiyun        "MetricExpr": "store_data_stall_cpi + eieio_stall_cpi + stcx_stall_cpi + slb_stall_cpi + tend_stall_cpi + paste_stall_cpi + tlbie_stall_cpi + store_pipe_arb_stall_cpi + store_fin_arb_stall_cpi",
496*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
497*4882a593Smuzhiyun        "MetricName": "srq_stall_cpi"
498*4882a593Smuzhiyun    },
499*4882a593Smuzhiyun    {
500*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to store forward",
501*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_ST_FWD/PM_RUN_INST_CMPL",
502*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
503*4882a593Smuzhiyun        "MetricName": "st_fwd_stall_cpi"
504*4882a593Smuzhiyun    },
505*4882a593Smuzhiyun    {
506*4882a593Smuzhiyun        "BriefDescription": "Nothing completed and Instruction Completion Table not empty",
507*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL/PM_RUN_INST_CMPL",
508*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
509*4882a593Smuzhiyun        "MetricName": "stall_cpi"
510*4882a593Smuzhiyun    },
511*4882a593Smuzhiyun    {
512*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a stcx waiting for response from L2",
513*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_STCX/PM_RUN_INST_CMPL",
514*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
515*4882a593Smuzhiyun        "MetricName": "stcx_stall_cpi"
516*4882a593Smuzhiyun    },
517*4882a593Smuzhiyun    {
518*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the next to finish instruction was a store waiting on data",
519*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_STORE_DATA/PM_RUN_INST_CMPL",
520*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
521*4882a593Smuzhiyun        "MetricName": "store_data_stall_cpi"
522*4882a593Smuzhiyun    },
523*4882a593Smuzhiyun    {
524*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a store waiting for a slot in the store finish pipe. This means the instruction is ready to finish but there are instructions ahead of it, using the finish pipe",
525*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_STORE_FIN_ARB/PM_RUN_INST_CMPL",
526*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
527*4882a593Smuzhiyun        "MetricName": "store_fin_arb_stall_cpi"
528*4882a593Smuzhiyun    },
529*4882a593Smuzhiyun    {
530*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a store with all its dependencies met, just waiting to go through the LSU pipe to finish",
531*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_STORE_FINISH/PM_RUN_INST_CMPL",
532*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
533*4882a593Smuzhiyun        "MetricName": "store_finish_stall_cpi"
534*4882a593Smuzhiyun    },
535*4882a593Smuzhiyun    {
536*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a store waiting for the next relaunch opportunity after an internal reject. This means the instruction is ready to relaunch and tried once but lost arbitration",
537*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_STORE_PIPE_ARB/PM_RUN_INST_CMPL",
538*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
539*4882a593Smuzhiyun        "MetricName": "store_pipe_arb_stall_cpi"
540*4882a593Smuzhiyun    },
541*4882a593Smuzhiyun    {
542*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a tend instruction awaiting response from L2",
543*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_TEND/PM_RUN_INST_CMPL",
544*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
545*4882a593Smuzhiyun        "MetricName": "tend_stall_cpi"
546*4882a593Smuzhiyun    },
547*4882a593Smuzhiyun    {
548*4882a593Smuzhiyun        "BriefDescription": "Completion Stalled because the thread was blocked",
549*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_THRD/PM_RUN_INST_CMPL",
550*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
551*4882a593Smuzhiyun        "MetricName": "thread_block_stall_cpi"
552*4882a593Smuzhiyun    },
553*4882a593Smuzhiyun    {
554*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a tlbie waiting for response from L2",
555*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_TLBIE/PM_RUN_INST_CMPL",
556*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
557*4882a593Smuzhiyun        "MetricName": "tlbie_stall_cpi"
558*4882a593Smuzhiyun    },
559*4882a593Smuzhiyun    {
560*4882a593Smuzhiyun        "BriefDescription": "Vector stalls due to small latency double precision ops",
561*4882a593Smuzhiyun        "MetricExpr": "vdp_stall_cpi - vdplong_stall_cpi",
562*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
563*4882a593Smuzhiyun        "MetricName": "vdp_other_stall_cpi"
564*4882a593Smuzhiyun    },
565*4882a593Smuzhiyun    {
566*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a vector instruction issued to the Double Precision execution pipe and waiting to finish.",
567*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_VDP/PM_RUN_INST_CMPL",
568*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
569*4882a593Smuzhiyun        "MetricName": "vdp_stall_cpi"
570*4882a593Smuzhiyun    },
571*4882a593Smuzhiyun    {
572*4882a593Smuzhiyun        "BriefDescription": "Finish stall because the NTF instruction was a scalar multi-cycle instruction issued to the Double Precision execution pipe and waiting to finish. Includes binary floating point instructions in 32 and 64 bit binary floating point format.",
573*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_VDPLONG/PM_RUN_INST_CMPL",
574*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
575*4882a593Smuzhiyun        "MetricName": "vdplong_stall_cpi"
576*4882a593Smuzhiyun    },
577*4882a593Smuzhiyun    {
578*4882a593Smuzhiyun        "MetricExpr": "vfxu_stall_cpi + vdp_stall_cpi",
579*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
580*4882a593Smuzhiyun        "MetricName": "vector_stall_cpi"
581*4882a593Smuzhiyun    },
582*4882a593Smuzhiyun    {
583*4882a593Smuzhiyun        "BriefDescription": "Completion stall due to a long latency vector fixed point instruction (division, square root)",
584*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_VFXLONG/PM_RUN_INST_CMPL",
585*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
586*4882a593Smuzhiyun        "MetricName": "vfxlong_stall_cpi"
587*4882a593Smuzhiyun    },
588*4882a593Smuzhiyun    {
589*4882a593Smuzhiyun        "BriefDescription": "Vector stalls due to small latency integer ops",
590*4882a593Smuzhiyun        "MetricExpr": "vfxu_stall_cpi - vfxlong_stall_cpi",
591*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
592*4882a593Smuzhiyun        "MetricName": "vfxu_other_stall_cpi"
593*4882a593Smuzhiyun    },
594*4882a593Smuzhiyun    {
595*4882a593Smuzhiyun        "BriefDescription": "Finish stall due to a vector fixed point instruction in the execution pipeline. These instructions get routed to the ALU, ALU2, and DIV pipes",
596*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_VFXU/PM_RUN_INST_CMPL",
597*4882a593Smuzhiyun        "MetricGroup": "cpi_breakdown",
598*4882a593Smuzhiyun        "MetricName": "vfxu_stall_cpi"
599*4882a593Smuzhiyun    },
600*4882a593Smuzhiyun    {
601*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Distant L2 or L3 (Modified) per Inst",
602*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL2L3_MOD * 100 / PM_RUN_INST_CMPL",
603*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
604*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dl2l3_mod_rate_percent"
605*4882a593Smuzhiyun    },
606*4882a593Smuzhiyun    {
607*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Distant L2 or L3 (Shared) per Inst",
608*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL2L3_SHR * 100 / PM_RUN_INST_CMPL",
609*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
610*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dl2l3_shr_rate_percent"
611*4882a593Smuzhiyun    },
612*4882a593Smuzhiyun    {
613*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Distant Memory per Inst",
614*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DMEM * 100 / PM_RUN_INST_CMPL",
615*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
616*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dmem_rate_percent"
617*4882a593Smuzhiyun    },
618*4882a593Smuzhiyun    {
619*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L2, other core per Inst",
620*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L21_MOD * 100 / PM_RUN_INST_CMPL",
621*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
622*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l21_mod_rate_percent"
623*4882a593Smuzhiyun    },
624*4882a593Smuzhiyun    {
625*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L2, other core per Inst",
626*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L21_SHR * 100 / PM_RUN_INST_CMPL",
627*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
628*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l21_shr_rate_percent"
629*4882a593Smuzhiyun    },
630*4882a593Smuzhiyun    {
631*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from L2 per Inst",
632*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L2MISS * 100 / PM_RUN_INST_CMPL",
633*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
634*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l2_miss_rate_percent"
635*4882a593Smuzhiyun    },
636*4882a593Smuzhiyun    {
637*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from L2 per Inst",
638*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L2 * 100 / PM_RUN_INST_CMPL",
639*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
640*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l2_rate_percent"
641*4882a593Smuzhiyun    },
642*4882a593Smuzhiyun    {
643*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3 M state, other core per Inst",
644*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L31_MOD * 100 / PM_RUN_INST_CMPL",
645*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
646*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l31_mod_rate_percent"
647*4882a593Smuzhiyun    },
648*4882a593Smuzhiyun    {
649*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3 S tate, other core per Inst",
650*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L31_SHR * 100 / PM_RUN_INST_CMPL",
651*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
652*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l31_shr_rate_percent"
653*4882a593Smuzhiyun    },
654*4882a593Smuzhiyun    {
655*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads that came from the L3 and were brought into the L3 by a prefetch, per instruction completed",
656*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3_MEPF * 100 / PM_RUN_INST_CMPL",
657*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
658*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l3_mepf_rate_percent"
659*4882a593Smuzhiyun    },
660*4882a593Smuzhiyun    {
661*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from L3 per Inst",
662*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3MISS * 100 / PM_RUN_INST_CMPL",
663*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
664*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l3_miss_rate_percent"
665*4882a593Smuzhiyun    },
666*4882a593Smuzhiyun    {
667*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from L3 per Inst",
668*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3 * 100 / PM_RUN_INST_CMPL",
669*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
670*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l3_rate_percent"
671*4882a593Smuzhiyun    },
672*4882a593Smuzhiyun    {
673*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Local Memory per Inst",
674*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM * 100 / PM_RUN_INST_CMPL",
675*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
676*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_lmem_rate_percent"
677*4882a593Smuzhiyun    },
678*4882a593Smuzhiyun    {
679*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3, other core per Inst",
680*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL2L3_MOD * 100 / PM_RUN_INST_CMPL",
681*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
682*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rl2l3_mod_rate_percent"
683*4882a593Smuzhiyun    },
684*4882a593Smuzhiyun    {
685*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3, other core per Inst",
686*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL2L3_SHR * 100 / PM_RUN_INST_CMPL",
687*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
688*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rl2l3_shr_rate_percent"
689*4882a593Smuzhiyun    },
690*4882a593Smuzhiyun    {
691*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Remote Memory per Inst",
692*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RMEM * 100 / PM_RUN_INST_CMPL",
693*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
694*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rmem_rate_percent"
695*4882a593Smuzhiyun    },
696*4882a593Smuzhiyun    {
697*4882a593Smuzhiyun        "BriefDescription": "Percentage of L1 demand load misses per run instruction",
698*4882a593Smuzhiyun        "MetricExpr": "PM_LD_MISS_L1 * 100 / PM_RUN_INST_CMPL",
699*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_inst",
700*4882a593Smuzhiyun        "MetricName": "l1_ld_miss_rate_percent"
701*4882a593Smuzhiyun    },
702*4882a593Smuzhiyun    {
703*4882a593Smuzhiyun        "BriefDescription": "% of DL1 misses that result in a cache reload",
704*4882a593Smuzhiyun        "MetricExpr": "PM_L1_DCACHE_RELOAD_VALID * 100 / PM_LD_MISS_L1",
705*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
706*4882a593Smuzhiyun        "MetricName": "dl1_miss_reloads_percent"
707*4882a593Smuzhiyun    },
708*4882a593Smuzhiyun    {
709*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Distant L2 or L3 (Modified)",
710*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL2L3_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID",
711*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
712*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dl2l3_mod_percent"
713*4882a593Smuzhiyun    },
714*4882a593Smuzhiyun    {
715*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Distant L2 or L3 (Shared)",
716*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL2L3_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID",
717*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
718*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dl2l3_shr_percent"
719*4882a593Smuzhiyun    },
720*4882a593Smuzhiyun    {
721*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Distant Memory",
722*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DMEM * 100 / PM_L1_DCACHE_RELOAD_VALID",
723*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
724*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dmem_percent"
725*4882a593Smuzhiyun    },
726*4882a593Smuzhiyun    {
727*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L2, other core",
728*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L21_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID",
729*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
730*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l21_mod_percent"
731*4882a593Smuzhiyun    },
732*4882a593Smuzhiyun    {
733*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L2, other core",
734*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L21_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID",
735*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
736*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l21_shr_percent"
737*4882a593Smuzhiyun    },
738*4882a593Smuzhiyun    {
739*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from sources beyond the local L2",
740*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L2MISS * 100 / PM_L1_DCACHE_RELOAD_VALID",
741*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
742*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l2_miss_percent"
743*4882a593Smuzhiyun    },
744*4882a593Smuzhiyun    {
745*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from L2",
746*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L2 * 100 / PM_L1_DCACHE_RELOAD_VALID",
747*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
748*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l2_percent"
749*4882a593Smuzhiyun    },
750*4882a593Smuzhiyun    {
751*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3, other core",
752*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L31_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID",
753*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
754*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l31_mod_percent"
755*4882a593Smuzhiyun    },
756*4882a593Smuzhiyun    {
757*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3, other core",
758*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L31_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID",
759*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
760*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l31_shr_percent"
761*4882a593Smuzhiyun    },
762*4882a593Smuzhiyun    {
763*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads that came from L3 and were brought into the L3 by a prefetch",
764*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3_MEPF * 100 / PM_L1_DCACHE_RELOAD_VALID",
765*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
766*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l3_mepf_percent"
767*4882a593Smuzhiyun    },
768*4882a593Smuzhiyun    {
769*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from sources beyond the local L3",
770*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3MISS * 100 / PM_L1_DCACHE_RELOAD_VALID",
771*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
772*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l3_miss_percent"
773*4882a593Smuzhiyun    },
774*4882a593Smuzhiyun    {
775*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from L3",
776*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3 * 100 / PM_L1_DCACHE_RELOAD_VALID",
777*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
778*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l3_percent"
779*4882a593Smuzhiyun    },
780*4882a593Smuzhiyun    {
781*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Local Memory",
782*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM * 100 / PM_L1_DCACHE_RELOAD_VALID",
783*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
784*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_lmem_percent"
785*4882a593Smuzhiyun    },
786*4882a593Smuzhiyun    {
787*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Remote L2 or L3 (Modified)",
788*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL2L3_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID",
789*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
790*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rl2l3_mod_percent"
791*4882a593Smuzhiyun    },
792*4882a593Smuzhiyun    {
793*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Remote L2 or L3 (Shared)",
794*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL2L3_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID",
795*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
796*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rl2l3_shr_percent"
797*4882a593Smuzhiyun    },
798*4882a593Smuzhiyun    {
799*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Remote Memory",
800*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RMEM * 100 / PM_L1_DCACHE_RELOAD_VALID",
801*4882a593Smuzhiyun        "MetricGroup": "dl1_reloads_percent_per_ref",
802*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rmem_percent"
803*4882a593Smuzhiyun    },
804*4882a593Smuzhiyun    {
805*4882a593Smuzhiyun        "BriefDescription": "estimate of dl2l3 distant MOD miss rates with measured DL2L3 MOD latency as a %of dcache miss cpi",
806*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL2L3_MOD * PM_MRK_DATA_FROM_DL2L3_MOD_CYC / PM_MRK_DATA_FROM_DL2L3_MOD / PM_CMPLU_STALL_DCACHE_MISS *100",
807*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
808*4882a593Smuzhiyun        "MetricName": "dl2l3_mod_cpi_percent"
809*4882a593Smuzhiyun    },
810*4882a593Smuzhiyun    {
811*4882a593Smuzhiyun        "BriefDescription": "estimate of dl2l3 distant SHR miss rates with measured DL2L3 SHR latency as a %of dcache miss cpi",
812*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL2L3_SHR * PM_MRK_DATA_FROM_DL2L3_SHR_CYC / PM_MRK_DATA_FROM_DL2L3_SHR / PM_CMPLU_STALL_DCACHE_MISS *100",
813*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
814*4882a593Smuzhiyun        "MetricName": "dl2l3_shr_cpi_percent"
815*4882a593Smuzhiyun    },
816*4882a593Smuzhiyun    {
817*4882a593Smuzhiyun        "BriefDescription": "estimate of distant L4 miss rates with measured DL4 latency as a %of dcache miss cpi",
818*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL4 * PM_MRK_DATA_FROM_DL4_CYC / PM_MRK_DATA_FROM_DL4 / PM_CMPLU_STALL_DCACHE_MISS *100",
819*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
820*4882a593Smuzhiyun        "MetricName": "dl4_cpi_percent"
821*4882a593Smuzhiyun    },
822*4882a593Smuzhiyun    {
823*4882a593Smuzhiyun        "BriefDescription": "estimate of distant memory miss rates with measured DMEM latency as a %of dcache miss cpi",
824*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DMEM * PM_MRK_DATA_FROM_DMEM_CYC / PM_MRK_DATA_FROM_DMEM / PM_CMPLU_STALL_DCACHE_MISS *100",
825*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
826*4882a593Smuzhiyun        "MetricName": "dmem_cpi_percent"
827*4882a593Smuzhiyun    },
828*4882a593Smuzhiyun    {
829*4882a593Smuzhiyun        "BriefDescription": "estimate of dl21 MOD miss rates with measured L21 MOD latency as a %of dcache miss cpi",
830*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L21_MOD * PM_MRK_DATA_FROM_L21_MOD_CYC / PM_MRK_DATA_FROM_L21_MOD / PM_CMPLU_STALL_DCACHE_MISS *100",
831*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
832*4882a593Smuzhiyun        "MetricName": "l21_mod_cpi_percent"
833*4882a593Smuzhiyun    },
834*4882a593Smuzhiyun    {
835*4882a593Smuzhiyun        "BriefDescription": "estimate of dl21 SHR miss rates with measured L21 SHR latency as a %of dcache miss cpi",
836*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L21_SHR * PM_MRK_DATA_FROM_L21_SHR_CYC / PM_MRK_DATA_FROM_L21_SHR / PM_CMPLU_STALL_DCACHE_MISS *100",
837*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
838*4882a593Smuzhiyun        "MetricName": "l21_shr_cpi_percent"
839*4882a593Smuzhiyun    },
840*4882a593Smuzhiyun    {
841*4882a593Smuzhiyun        "BriefDescription": "estimate of dl2 miss rates with measured L2 latency as a %of dcache miss cpi",
842*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L2 * PM_MRK_DATA_FROM_L2_CYC / PM_MRK_DATA_FROM_L2 / PM_CMPLU_STALL_DCACHE_MISS *100",
843*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
844*4882a593Smuzhiyun        "MetricName": "l2_cpi_percent"
845*4882a593Smuzhiyun    },
846*4882a593Smuzhiyun    {
847*4882a593Smuzhiyun        "BriefDescription": "estimate of dl31 MOD miss rates with measured L31 MOD latency as a %of dcache miss cpi",
848*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L31_MOD * PM_MRK_DATA_FROM_L31_MOD_CYC / PM_MRK_DATA_FROM_L31_MOD / PM_CMPLU_STALL_DCACHE_MISS *100",
849*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
850*4882a593Smuzhiyun        "MetricName": "l31_mod_cpi_percent"
851*4882a593Smuzhiyun    },
852*4882a593Smuzhiyun    {
853*4882a593Smuzhiyun        "BriefDescription": "estimate of dl31 SHR miss rates with measured L31 SHR latency as a %of dcache miss cpi",
854*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L31_SHR * PM_MRK_DATA_FROM_L31_SHR_CYC / PM_MRK_DATA_FROM_L31_SHR / PM_CMPLU_STALL_DCACHE_MISS *100",
855*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
856*4882a593Smuzhiyun        "MetricName": "l31_shr_cpi_percent"
857*4882a593Smuzhiyun    },
858*4882a593Smuzhiyun    {
859*4882a593Smuzhiyun        "BriefDescription": "estimate of dl3 miss rates with measured L3 latency as a % of dcache miss cpi",
860*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3 * PM_MRK_DATA_FROM_L3_CYC / PM_MRK_DATA_FROM_L3 / PM_CMPLU_STALL_DCACHE_MISS * 100",
861*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
862*4882a593Smuzhiyun        "MetricName": "l3_cpi_percent"
863*4882a593Smuzhiyun    },
864*4882a593Smuzhiyun    {
865*4882a593Smuzhiyun        "BriefDescription": "estimate of Local memory miss rates with measured LMEM latency as a %of dcache miss cpi",
866*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM * PM_MRK_DATA_FROM_LMEM_CYC / PM_MRK_DATA_FROM_LMEM / PM_CMPLU_STALL_DCACHE_MISS *100",
867*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
868*4882a593Smuzhiyun        "MetricName": "lmem_cpi_percent"
869*4882a593Smuzhiyun    },
870*4882a593Smuzhiyun    {
871*4882a593Smuzhiyun        "BriefDescription": "estimate of dl2l3 remote MOD miss rates with measured RL2L3 MOD latency as a %of dcache miss cpi",
872*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL2L3_MOD * PM_MRK_DATA_FROM_RL2L3_MOD_CYC / PM_MRK_DATA_FROM_RL2L3_MOD / PM_CMPLU_STALL_DCACHE_MISS *100",
873*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
874*4882a593Smuzhiyun        "MetricName": "rl2l3_mod_cpi_percent"
875*4882a593Smuzhiyun    },
876*4882a593Smuzhiyun    {
877*4882a593Smuzhiyun        "BriefDescription": "estimate of dl2l3 shared miss rates with measured RL2L3 SHR latency as a %of dcache miss cpi",
878*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL2L3_SHR * PM_MRK_DATA_FROM_RL2L3_SHR_CYC / PM_MRK_DATA_FROM_RL2L3_SHR / PM_CMPLU_STALL_DCACHE_MISS * 100",
879*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
880*4882a593Smuzhiyun        "MetricName": "rl2l3_shr_cpi_percent"
881*4882a593Smuzhiyun    },
882*4882a593Smuzhiyun    {
883*4882a593Smuzhiyun        "BriefDescription": "estimate of remote L4 miss rates with measured RL4 latency as a %of dcache miss cpi",
884*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL4 * PM_MRK_DATA_FROM_RL4_CYC / PM_MRK_DATA_FROM_RL4 / PM_CMPLU_STALL_DCACHE_MISS *100",
885*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
886*4882a593Smuzhiyun        "MetricName": "rl4_cpi_percent"
887*4882a593Smuzhiyun    },
888*4882a593Smuzhiyun    {
889*4882a593Smuzhiyun        "BriefDescription": "estimate of remote memory miss rates with measured RMEM latency as a %of dcache miss cpi",
890*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RMEM * PM_MRK_DATA_FROM_RMEM_CYC / PM_MRK_DATA_FROM_RMEM / PM_CMPLU_STALL_DCACHE_MISS *100",
891*4882a593Smuzhiyun        "MetricGroup": "estimated_dcache_miss_cpi",
892*4882a593Smuzhiyun        "MetricName": "rmem_cpi_percent"
893*4882a593Smuzhiyun    },
894*4882a593Smuzhiyun    {
895*4882a593Smuzhiyun        "BriefDescription": "Branch Mispredict flushes per instruction",
896*4882a593Smuzhiyun        "MetricExpr": "PM_FLUSH_MPRED / PM_RUN_INST_CMPL * 100",
897*4882a593Smuzhiyun        "MetricGroup": "general",
898*4882a593Smuzhiyun        "MetricName": "br_mpred_flush_rate_percent"
899*4882a593Smuzhiyun    },
900*4882a593Smuzhiyun    {
901*4882a593Smuzhiyun        "BriefDescription": "Cycles per instruction",
902*4882a593Smuzhiyun        "MetricExpr": "PM_CYC / PM_INST_CMPL",
903*4882a593Smuzhiyun        "MetricGroup": "general",
904*4882a593Smuzhiyun        "MetricName": "cpi"
905*4882a593Smuzhiyun    },
906*4882a593Smuzhiyun    {
907*4882a593Smuzhiyun        "BriefDescription": "GCT empty cycles",
908*4882a593Smuzhiyun        "MetricExpr": "(PM_FLUSH_DISP / PM_RUN_INST_CMPL) * 100",
909*4882a593Smuzhiyun        "MetricGroup": "general",
910*4882a593Smuzhiyun        "MetricName": "disp_flush_rate_percent"
911*4882a593Smuzhiyun    },
912*4882a593Smuzhiyun    {
913*4882a593Smuzhiyun        "BriefDescription": "% DTLB miss rate per inst",
914*4882a593Smuzhiyun        "MetricExpr": "PM_DTLB_MISS / PM_RUN_INST_CMPL *100",
915*4882a593Smuzhiyun        "MetricGroup": "general",
916*4882a593Smuzhiyun        "MetricName": "dtlb_miss_rate_percent"
917*4882a593Smuzhiyun    },
918*4882a593Smuzhiyun    {
919*4882a593Smuzhiyun        "BriefDescription": "Flush rate (%)",
920*4882a593Smuzhiyun        "MetricExpr": "PM_FLUSH * 100 / PM_RUN_INST_CMPL",
921*4882a593Smuzhiyun        "MetricGroup": "general",
922*4882a593Smuzhiyun        "MetricName": "flush_rate_percent"
923*4882a593Smuzhiyun    },
924*4882a593Smuzhiyun    {
925*4882a593Smuzhiyun        "BriefDescription": "Instructions per cycles",
926*4882a593Smuzhiyun        "MetricExpr": "PM_INST_CMPL / PM_CYC",
927*4882a593Smuzhiyun        "MetricGroup": "general",
928*4882a593Smuzhiyun        "MetricName": "ipc"
929*4882a593Smuzhiyun    },
930*4882a593Smuzhiyun    {
931*4882a593Smuzhiyun        "BriefDescription": "% ITLB miss rate per inst",
932*4882a593Smuzhiyun        "MetricExpr": "PM_ITLB_MISS / PM_RUN_INST_CMPL *100",
933*4882a593Smuzhiyun        "MetricGroup": "general",
934*4882a593Smuzhiyun        "MetricName": "itlb_miss_rate_percent"
935*4882a593Smuzhiyun    },
936*4882a593Smuzhiyun    {
937*4882a593Smuzhiyun        "BriefDescription": "Percentage of L1 load misses per L1 load ref",
938*4882a593Smuzhiyun        "MetricExpr": "PM_LD_MISS_L1 / PM_LD_REF_L1 * 100",
939*4882a593Smuzhiyun        "MetricGroup": "general",
940*4882a593Smuzhiyun        "MetricName": "l1_ld_miss_ratio_percent"
941*4882a593Smuzhiyun    },
942*4882a593Smuzhiyun    {
943*4882a593Smuzhiyun        "BriefDescription": "Percentage of L1 store misses per run instruction",
944*4882a593Smuzhiyun        "MetricExpr": "PM_ST_MISS_L1 * 100 / PM_RUN_INST_CMPL",
945*4882a593Smuzhiyun        "MetricGroup": "general",
946*4882a593Smuzhiyun        "MetricName": "l1_st_miss_rate_percent"
947*4882a593Smuzhiyun    },
948*4882a593Smuzhiyun    {
949*4882a593Smuzhiyun        "BriefDescription": "Percentage of L1 store misses per L1 store ref",
950*4882a593Smuzhiyun        "MetricExpr": "PM_ST_MISS_L1 / PM_ST_FIN * 100",
951*4882a593Smuzhiyun        "MetricGroup": "general",
952*4882a593Smuzhiyun        "MetricName": "l1_st_miss_ratio_percent"
953*4882a593Smuzhiyun    },
954*4882a593Smuzhiyun    {
955*4882a593Smuzhiyun        "BriefDescription": "L2 Instruction Miss Rate (per instruction)(%)",
956*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L2MISS * 100 / PM_RUN_INST_CMPL",
957*4882a593Smuzhiyun        "MetricGroup": "general",
958*4882a593Smuzhiyun        "MetricName": "l2_inst_miss_rate_percent"
959*4882a593Smuzhiyun    },
960*4882a593Smuzhiyun    {
961*4882a593Smuzhiyun        "BriefDescription": "L2 dmand Load Miss Rate (per run instruction)(%)",
962*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L2MISS * 100 / PM_RUN_INST_CMPL",
963*4882a593Smuzhiyun        "MetricGroup": "general",
964*4882a593Smuzhiyun        "MetricName": "l2_ld_miss_rate_percent"
965*4882a593Smuzhiyun    },
966*4882a593Smuzhiyun    {
967*4882a593Smuzhiyun        "BriefDescription": "L2 PTEG Miss Rate (per run instruction)(%)",
968*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L2MISS * 100 / PM_RUN_INST_CMPL",
969*4882a593Smuzhiyun        "MetricGroup": "general",
970*4882a593Smuzhiyun        "MetricName": "l2_pteg_miss_rate_percent"
971*4882a593Smuzhiyun    },
972*4882a593Smuzhiyun    {
973*4882a593Smuzhiyun        "BriefDescription": "L3 Instruction Miss Rate (per instruction)(%)",
974*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L3MISS * 100 / PM_RUN_INST_CMPL",
975*4882a593Smuzhiyun        "MetricGroup": "general",
976*4882a593Smuzhiyun        "MetricName": "l3_inst_miss_rate_percent"
977*4882a593Smuzhiyun    },
978*4882a593Smuzhiyun    {
979*4882a593Smuzhiyun        "BriefDescription": "L3 demand Load Miss Rate (per run instruction)(%)",
980*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_L3MISS * 100 / PM_RUN_INST_CMPL",
981*4882a593Smuzhiyun        "MetricGroup": "general",
982*4882a593Smuzhiyun        "MetricName": "l3_ld_miss_rate_percent"
983*4882a593Smuzhiyun    },
984*4882a593Smuzhiyun    {
985*4882a593Smuzhiyun        "BriefDescription": "L3 PTEG Miss Rate (per run instruction)(%)",
986*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L3MISS * 100 / PM_RUN_INST_CMPL",
987*4882a593Smuzhiyun        "MetricGroup": "general",
988*4882a593Smuzhiyun        "MetricName": "l3_pteg_miss_rate_percent"
989*4882a593Smuzhiyun    },
990*4882a593Smuzhiyun    {
991*4882a593Smuzhiyun        "BriefDescription": "Run cycles per cycle",
992*4882a593Smuzhiyun        "MetricExpr": "PM_RUN_CYC / PM_CYC*100",
993*4882a593Smuzhiyun        "MetricGroup": "general",
994*4882a593Smuzhiyun        "MetricName": "run_cycles_percent"
995*4882a593Smuzhiyun    },
996*4882a593Smuzhiyun    {
997*4882a593Smuzhiyun        "BriefDescription": "Instruction dispatch-to-completion ratio",
998*4882a593Smuzhiyun        "MetricExpr": "PM_INST_DISP / PM_INST_CMPL",
999*4882a593Smuzhiyun        "MetricGroup": "general",
1000*4882a593Smuzhiyun        "MetricName": "speculation"
1001*4882a593Smuzhiyun    },
1002*4882a593Smuzhiyun    {
1003*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Modified) per Inst",
1004*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DL2L3_MOD * 100 / PM_RUN_INST_CMPL",
1005*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1006*4882a593Smuzhiyun        "MetricName": "inst_from_dl2l3_mod_rate_percent"
1007*4882a593Smuzhiyun    },
1008*4882a593Smuzhiyun    {
1009*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Shared) per Inst",
1010*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DL2L3_SHR * 100 / PM_RUN_INST_CMPL",
1011*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1012*4882a593Smuzhiyun        "MetricName": "inst_from_dl2l3_shr_rate_percent"
1013*4882a593Smuzhiyun    },
1014*4882a593Smuzhiyun    {
1015*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant L4 per Inst",
1016*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DL4 * 100 / PM_RUN_INST_CMPL",
1017*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1018*4882a593Smuzhiyun        "MetricName": "inst_from_dl4_rate_percent"
1019*4882a593Smuzhiyun    },
1020*4882a593Smuzhiyun    {
1021*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant Memory per Inst",
1022*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DMEM * 100 / PM_RUN_INST_CMPL",
1023*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1024*4882a593Smuzhiyun        "MetricName": "inst_from_dmem_rate_percent"
1025*4882a593Smuzhiyun    },
1026*4882a593Smuzhiyun    {
1027*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L2, other core per Inst",
1028*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L21_MOD * 100 / PM_RUN_INST_CMPL",
1029*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1030*4882a593Smuzhiyun        "MetricName": "inst_from_l21_mod_rate_percent"
1031*4882a593Smuzhiyun    },
1032*4882a593Smuzhiyun    {
1033*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L2, other core per Inst",
1034*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L21_SHR * 100 / PM_RUN_INST_CMPL",
1035*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1036*4882a593Smuzhiyun        "MetricName": "inst_from_l21_shr_rate_percent"
1037*4882a593Smuzhiyun    },
1038*4882a593Smuzhiyun    {
1039*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from L2 per Inst",
1040*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L2 * 100 / PM_RUN_INST_CMPL",
1041*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1042*4882a593Smuzhiyun        "MetricName": "inst_from_l2_rate_percent"
1043*4882a593Smuzhiyun    },
1044*4882a593Smuzhiyun    {
1045*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L3, other core per Inst",
1046*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L31_MOD * 100 / PM_RUN_INST_CMPL",
1047*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1048*4882a593Smuzhiyun        "MetricName": "inst_from_l31_mod_rate_percent"
1049*4882a593Smuzhiyun    },
1050*4882a593Smuzhiyun    {
1051*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L3 other core per Inst",
1052*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L31_SHR * 100 / PM_RUN_INST_CMPL",
1053*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1054*4882a593Smuzhiyun        "MetricName": "inst_from_l31_shr_rate_percent"
1055*4882a593Smuzhiyun    },
1056*4882a593Smuzhiyun    {
1057*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from L3 per Inst",
1058*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L3 * 100 / PM_RUN_INST_CMPL",
1059*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1060*4882a593Smuzhiyun        "MetricName": "inst_from_l3_rate_percent"
1061*4882a593Smuzhiyun    },
1062*4882a593Smuzhiyun    {
1063*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Local L4 per Inst",
1064*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_LL4 * 100 / PM_RUN_INST_CMPL",
1065*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1066*4882a593Smuzhiyun        "MetricName": "inst_from_ll4_rate_percent"
1067*4882a593Smuzhiyun    },
1068*4882a593Smuzhiyun    {
1069*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Local Memory per Inst",
1070*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_LMEM * 100 / PM_RUN_INST_CMPL",
1071*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1072*4882a593Smuzhiyun        "MetricName": "inst_from_lmem_rate_percent"
1073*4882a593Smuzhiyun    },
1074*4882a593Smuzhiyun    {
1075*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Modified) per Inst",
1076*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RL2L3_MOD * 100 / PM_RUN_INST_CMPL",
1077*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1078*4882a593Smuzhiyun        "MetricName": "inst_from_rl2l3_mod_rate_percent"
1079*4882a593Smuzhiyun    },
1080*4882a593Smuzhiyun    {
1081*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Shared) per Inst",
1082*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RL2L3_SHR * 100 / PM_RUN_INST_CMPL",
1083*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1084*4882a593Smuzhiyun        "MetricName": "inst_from_rl2l3_shr_rate_percent"
1085*4882a593Smuzhiyun    },
1086*4882a593Smuzhiyun    {
1087*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote L4 per Inst",
1088*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RL4 * 100 / PM_RUN_INST_CMPL",
1089*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1090*4882a593Smuzhiyun        "MetricName": "inst_from_rl4_rate_percent"
1091*4882a593Smuzhiyun    },
1092*4882a593Smuzhiyun    {
1093*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote Memory per Inst",
1094*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RMEM * 100 / PM_RUN_INST_CMPL",
1095*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1096*4882a593Smuzhiyun        "MetricName": "inst_from_rmem_rate_percent"
1097*4882a593Smuzhiyun    },
1098*4882a593Smuzhiyun    {
1099*4882a593Smuzhiyun        "BriefDescription": "Instruction Cache Miss Rate (Per run Instruction)(%)",
1100*4882a593Smuzhiyun        "MetricExpr": "PM_L1_ICACHE_MISS * 100 / PM_RUN_INST_CMPL",
1101*4882a593Smuzhiyun        "MetricGroup": "instruction_misses_percent_per_inst",
1102*4882a593Smuzhiyun        "MetricName": "l1_inst_miss_rate_percent"
1103*4882a593Smuzhiyun    },
1104*4882a593Smuzhiyun    {
1105*4882a593Smuzhiyun        "BriefDescription": "Icache Fetchs per Icache Miss",
1106*4882a593Smuzhiyun        "MetricExpr": "(PM_L1_ICACHE_MISS - PM_IC_PREF_WRITE) / PM_L1_ICACHE_MISS",
1107*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1108*4882a593Smuzhiyun        "MetricName": "icache_miss_reload"
1109*4882a593Smuzhiyun    },
1110*4882a593Smuzhiyun    {
1111*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads due to prefetch",
1112*4882a593Smuzhiyun        "MetricExpr": "PM_IC_PREF_WRITE * 100 / PM_L1_ICACHE_MISS",
1113*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1114*4882a593Smuzhiyun        "MetricName": "icache_pref_percent"
1115*4882a593Smuzhiyun    },
1116*4882a593Smuzhiyun    {
1117*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Modified)",
1118*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DL2L3_MOD * 100 / PM_L1_ICACHE_MISS",
1119*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1120*4882a593Smuzhiyun        "MetricName": "inst_from_dl2l3_mod_percent"
1121*4882a593Smuzhiyun    },
1122*4882a593Smuzhiyun    {
1123*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Shared)",
1124*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DL2L3_SHR * 100 / PM_L1_ICACHE_MISS",
1125*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1126*4882a593Smuzhiyun        "MetricName": "inst_from_dl2l3_shr_percent"
1127*4882a593Smuzhiyun    },
1128*4882a593Smuzhiyun    {
1129*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant L4",
1130*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DL4 * 100 / PM_L1_ICACHE_MISS",
1131*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1132*4882a593Smuzhiyun        "MetricName": "inst_from_dl4_percent"
1133*4882a593Smuzhiyun    },
1134*4882a593Smuzhiyun    {
1135*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Distant Memory",
1136*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_DMEM * 100 / PM_L1_ICACHE_MISS",
1137*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1138*4882a593Smuzhiyun        "MetricName": "inst_from_dmem_percent"
1139*4882a593Smuzhiyun    },
1140*4882a593Smuzhiyun    {
1141*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L2, other core",
1142*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L21_MOD * 100 / PM_L1_ICACHE_MISS",
1143*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1144*4882a593Smuzhiyun        "MetricName": "inst_from_l21_mod_percent"
1145*4882a593Smuzhiyun    },
1146*4882a593Smuzhiyun    {
1147*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L2, other core",
1148*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L21_SHR * 100 / PM_L1_ICACHE_MISS",
1149*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1150*4882a593Smuzhiyun        "MetricName": "inst_from_l21_shr_percent"
1151*4882a593Smuzhiyun    },
1152*4882a593Smuzhiyun    {
1153*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from L2",
1154*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L2 * 100 / PM_L1_ICACHE_MISS",
1155*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1156*4882a593Smuzhiyun        "MetricName": "inst_from_l2_percent"
1157*4882a593Smuzhiyun    },
1158*4882a593Smuzhiyun    {
1159*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L3, other core",
1160*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L31_MOD * 100 / PM_L1_ICACHE_MISS",
1161*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1162*4882a593Smuzhiyun        "MetricName": "inst_from_l31_mod_percent"
1163*4882a593Smuzhiyun    },
1164*4882a593Smuzhiyun    {
1165*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Private L3, other core",
1166*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L31_SHR * 100 / PM_L1_ICACHE_MISS",
1167*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1168*4882a593Smuzhiyun        "MetricName": "inst_from_l31_shr_percent"
1169*4882a593Smuzhiyun    },
1170*4882a593Smuzhiyun    {
1171*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from L3",
1172*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_L3 * 100 / PM_L1_ICACHE_MISS",
1173*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1174*4882a593Smuzhiyun        "MetricName": "inst_from_l3_percent"
1175*4882a593Smuzhiyun    },
1176*4882a593Smuzhiyun    {
1177*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Local L4",
1178*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_LL4 * 100 / PM_L1_ICACHE_MISS",
1179*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1180*4882a593Smuzhiyun        "MetricName": "inst_from_ll4_percent"
1181*4882a593Smuzhiyun    },
1182*4882a593Smuzhiyun    {
1183*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Local Memory",
1184*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_LMEM * 100 / PM_L1_ICACHE_MISS",
1185*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1186*4882a593Smuzhiyun        "MetricName": "inst_from_lmem_percent"
1187*4882a593Smuzhiyun    },
1188*4882a593Smuzhiyun    {
1189*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Modified)",
1190*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RL2L3_MOD * 100 / PM_L1_ICACHE_MISS",
1191*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1192*4882a593Smuzhiyun        "MetricName": "inst_from_rl2l3_mod_percent"
1193*4882a593Smuzhiyun    },
1194*4882a593Smuzhiyun    {
1195*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Shared)",
1196*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RL2L3_SHR * 100 / PM_L1_ICACHE_MISS",
1197*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1198*4882a593Smuzhiyun        "MetricName": "inst_from_rl2l3_shr_percent"
1199*4882a593Smuzhiyun    },
1200*4882a593Smuzhiyun    {
1201*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote L4",
1202*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RL4 * 100 / PM_L1_ICACHE_MISS",
1203*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1204*4882a593Smuzhiyun        "MetricName": "inst_from_rl4_percent"
1205*4882a593Smuzhiyun    },
1206*4882a593Smuzhiyun    {
1207*4882a593Smuzhiyun        "BriefDescription": "% of ICache reloads from Remote Memory",
1208*4882a593Smuzhiyun        "MetricExpr": "PM_INST_FROM_RMEM * 100 / PM_L1_ICACHE_MISS",
1209*4882a593Smuzhiyun        "MetricGroup": "instruction_stats_percent_per_ref",
1210*4882a593Smuzhiyun        "MetricName": "inst_from_rmem_percent"
1211*4882a593Smuzhiyun    },
1212*4882a593Smuzhiyun    {
1213*4882a593Smuzhiyun        "BriefDescription": "%L2 Modified CO Cache read Utilization (4 pclks per disp attempt)",
1214*4882a593Smuzhiyun        "MetricExpr": "((PM_L2_CASTOUT_MOD/2)*4)/ PM_RUN_CYC * 100",
1215*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1216*4882a593Smuzhiyun        "MetricName": "l2_co_m_rd_util"
1217*4882a593Smuzhiyun    },
1218*4882a593Smuzhiyun    {
1219*4882a593Smuzhiyun        "BriefDescription": "L2 dcache invalidates per run inst (per core)",
1220*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_DC_INV / 2) / PM_RUN_INST_CMPL * 100",
1221*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1222*4882a593Smuzhiyun        "MetricName": "l2_dc_inv_rate_percent"
1223*4882a593Smuzhiyun    },
1224*4882a593Smuzhiyun    {
1225*4882a593Smuzhiyun        "BriefDescription": "Demand load misses as a % of L2 LD dispatches (per thread)",
1226*4882a593Smuzhiyun        "MetricExpr": "PM_L1_DCACHE_RELOAD_VALID / (PM_L2_LD / 2) * 100",
1227*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1228*4882a593Smuzhiyun        "MetricName": "l2_dem_ld_disp_percent"
1229*4882a593Smuzhiyun    },
1230*4882a593Smuzhiyun    {
1231*4882a593Smuzhiyun        "BriefDescription": "L2 Icache invalidates per run inst (per core)",
1232*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_IC_INV / 2) / PM_RUN_INST_CMPL * 100",
1233*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1234*4882a593Smuzhiyun        "MetricName": "l2_ic_inv_rate_percent"
1235*4882a593Smuzhiyun    },
1236*4882a593Smuzhiyun    {
1237*4882a593Smuzhiyun        "BriefDescription": "L2 Inst misses as a % of total L2 Inst dispatches (per thread)",
1238*4882a593Smuzhiyun        "MetricExpr": "PM_L2_INST_MISS / PM_L2_INST * 100",
1239*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1240*4882a593Smuzhiyun        "MetricName": "l2_inst_miss_ratio_percent"
1241*4882a593Smuzhiyun    },
1242*4882a593Smuzhiyun    {
1243*4882a593Smuzhiyun        "BriefDescription": "Average number of cycles between L2 Load hits",
1244*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_LD_HIT / PM_RUN_CYC) / 2",
1245*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1246*4882a593Smuzhiyun        "MetricName": "l2_ld_hit_frequency"
1247*4882a593Smuzhiyun    },
1248*4882a593Smuzhiyun    {
1249*4882a593Smuzhiyun        "BriefDescription": "Average number of cycles between L2 Load misses",
1250*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_LD_MISS / PM_RUN_CYC) / 2",
1251*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1252*4882a593Smuzhiyun        "MetricName": "l2_ld_miss_frequency"
1253*4882a593Smuzhiyun    },
1254*4882a593Smuzhiyun    {
1255*4882a593Smuzhiyun        "BriefDescription": "L2 Load misses as a % of total L2 Load dispatches (per thread)",
1256*4882a593Smuzhiyun        "MetricExpr": "PM_L2_LD_MISS / PM_L2_LD * 100",
1257*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1258*4882a593Smuzhiyun        "MetricName": "l2_ld_miss_ratio_percent"
1259*4882a593Smuzhiyun    },
1260*4882a593Smuzhiyun    {
1261*4882a593Smuzhiyun        "BriefDescription": "% L2 load disp attempts Cache read Utilization (4 pclks per disp attempt)",
1262*4882a593Smuzhiyun        "MetricExpr": "((PM_L2_RCLD_DISP/2)*4)/ PM_RUN_CYC * 100",
1263*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1264*4882a593Smuzhiyun        "MetricName": "l2_ld_rd_util"
1265*4882a593Smuzhiyun    },
1266*4882a593Smuzhiyun    {
1267*4882a593Smuzhiyun        "BriefDescription": "L2 load misses that require a cache write (4 pclks per disp attempt) % of pclks",
1268*4882a593Smuzhiyun        "MetricExpr": "((( PM_L2_LD_DISP - PM_L2_LD_HIT)/2)*4)/ PM_RUN_CYC * 100",
1269*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1270*4882a593Smuzhiyun        "MetricName": "l2_ldmiss_wr_util"
1271*4882a593Smuzhiyun    },
1272*4882a593Smuzhiyun    {
1273*4882a593Smuzhiyun        "BriefDescription": "L2 local pump prediction success",
1274*4882a593Smuzhiyun        "MetricExpr": "PM_L2_LOC_GUESS_CORRECT / (PM_L2_LOC_GUESS_CORRECT + PM_L2_LOC_GUESS_WRONG) * 100",
1275*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1276*4882a593Smuzhiyun        "MetricName": "l2_local_pred_correct_percent"
1277*4882a593Smuzhiyun    },
1278*4882a593Smuzhiyun    {
1279*4882a593Smuzhiyun        "BriefDescription": "L2 COs that were in M,Me,Mu state as a % of all L2 COs",
1280*4882a593Smuzhiyun        "MetricExpr": "PM_L2_CASTOUT_MOD / (PM_L2_CASTOUT_MOD + PM_L2_CASTOUT_SHR) * 100",
1281*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1282*4882a593Smuzhiyun        "MetricName": "l2_mod_co_percent"
1283*4882a593Smuzhiyun    },
1284*4882a593Smuzhiyun    {
1285*4882a593Smuzhiyun        "BriefDescription": "% of L2 Load RC dispatch atampts that failed because of address collisions and cclass conflicts",
1286*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_RCLD_DISP_FAIL_ADDR )/ PM_L2_RCLD_DISP * 100",
1287*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1288*4882a593Smuzhiyun        "MetricName": "l2_rc_ld_disp_addr_fail_percent"
1289*4882a593Smuzhiyun    },
1290*4882a593Smuzhiyun    {
1291*4882a593Smuzhiyun        "BriefDescription": "% of L2 Load RC dispatch attempts that failed",
1292*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_RCLD_DISP_FAIL_ADDR + PM_L2_RCLD_DISP_FAIL_OTHER)/ PM_L2_RCLD_DISP * 100",
1293*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1294*4882a593Smuzhiyun        "MetricName": "l2_rc_ld_disp_fail_percent"
1295*4882a593Smuzhiyun    },
1296*4882a593Smuzhiyun    {
1297*4882a593Smuzhiyun        "BriefDescription": "% of L2 Store RC dispatch atampts that failed because of address collisions and cclass conflicts",
1298*4882a593Smuzhiyun        "MetricExpr": "PM_L2_RCST_DISP_FAIL_ADDR / PM_L2_RCST_DISP * 100",
1299*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1300*4882a593Smuzhiyun        "MetricName": "l2_rc_st_disp_addr_fail_percent"
1301*4882a593Smuzhiyun    },
1302*4882a593Smuzhiyun    {
1303*4882a593Smuzhiyun        "BriefDescription": "% of L2 Store RC dispatch attempts that failed",
1304*4882a593Smuzhiyun        "MetricExpr": "(PM_L2_RCST_DISP_FAIL_ADDR + PM_L2_RCST_DISP_FAIL_OTHER)/ PM_L2_RCST_DISP * 100",
1305*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1306*4882a593Smuzhiyun        "MetricName": "l2_rc_st_disp_fail_percent"
1307*4882a593Smuzhiyun    },
1308*4882a593Smuzhiyun    {
1309*4882a593Smuzhiyun        "BriefDescription": "L2 Cache Read Utilization (per core)",
1310*4882a593Smuzhiyun        "MetricExpr": "(((PM_L2_RCLD_DISP/2)*4)/ PM_RUN_CYC * 100) + (((PM_L2_RCST_DISP/2)*4)/PM_RUN_CYC * 100) + (((PM_L2_CASTOUT_MOD/2)*4)/PM_RUN_CYC * 100)",
1311*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1312*4882a593Smuzhiyun        "MetricName": "l2_rd_util_percent"
1313*4882a593Smuzhiyun    },
1314*4882a593Smuzhiyun    {
1315*4882a593Smuzhiyun        "BriefDescription": "L2 COs that were in T,Te,Si,S state as a % of all L2 COs",
1316*4882a593Smuzhiyun        "MetricExpr": "PM_L2_CASTOUT_SHR / (PM_L2_CASTOUT_MOD + PM_L2_CASTOUT_SHR) * 100",
1317*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1318*4882a593Smuzhiyun        "MetricName": "l2_shr_co_percent"
1319*4882a593Smuzhiyun    },
1320*4882a593Smuzhiyun    {
1321*4882a593Smuzhiyun        "BriefDescription": "L2 Store misses as a % of total L2 Store dispatches (per thread)",
1322*4882a593Smuzhiyun        "MetricExpr": "PM_L2_ST_MISS / PM_L2_ST * 100",
1323*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1324*4882a593Smuzhiyun        "MetricName": "l2_st_miss_ratio_percent"
1325*4882a593Smuzhiyun    },
1326*4882a593Smuzhiyun    {
1327*4882a593Smuzhiyun        "BriefDescription": "% L2 store disp attempts Cache read Utilization (4 pclks per disp attempt)",
1328*4882a593Smuzhiyun        "MetricExpr": "((PM_L2_RCST_DISP/2)*4) / PM_RUN_CYC * 100",
1329*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1330*4882a593Smuzhiyun        "MetricName": "l2_st_rd_util"
1331*4882a593Smuzhiyun    },
1332*4882a593Smuzhiyun    {
1333*4882a593Smuzhiyun        "BriefDescription": "L2 stores that require a cache write (4 pclks per disp attempt) % of pclks",
1334*4882a593Smuzhiyun        "MetricExpr": "((PM_L2_ST_DISP/2)*4) / PM_RUN_CYC * 100",
1335*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1336*4882a593Smuzhiyun        "MetricName": "l2_st_wr_util"
1337*4882a593Smuzhiyun    },
1338*4882a593Smuzhiyun    {
1339*4882a593Smuzhiyun        "BriefDescription": "L2 Cache Write Utilization (per core)",
1340*4882a593Smuzhiyun        "MetricExpr": "((((PM_L2_LD_DISP - PM_L2_LD_HIT)/2)*4) / PM_RUN_CYC * 100) + (((PM_L2_ST_DISP/2)*4) / PM_RUN_CYC * 100)",
1341*4882a593Smuzhiyun        "MetricGroup": "l2_stats",
1342*4882a593Smuzhiyun        "MetricName": "l2_wr_util_percent"
1343*4882a593Smuzhiyun    },
1344*4882a593Smuzhiyun    {
1345*4882a593Smuzhiyun        "BriefDescription": "Average number of cycles between L3 Load hits",
1346*4882a593Smuzhiyun        "MetricExpr": "(PM_L3_LD_HIT / PM_RUN_CYC) / 2",
1347*4882a593Smuzhiyun        "MetricGroup": "l3_stats",
1348*4882a593Smuzhiyun        "MetricName": "l3_ld_hit_frequency"
1349*4882a593Smuzhiyun    },
1350*4882a593Smuzhiyun    {
1351*4882a593Smuzhiyun        "BriefDescription": "Average number of cycles between L3 Load misses",
1352*4882a593Smuzhiyun        "MetricExpr": "(PM_L3_LD_MISS / PM_RUN_CYC) / 2",
1353*4882a593Smuzhiyun        "MetricGroup": "l3_stats",
1354*4882a593Smuzhiyun        "MetricName": "l3_ld_miss_frequency"
1355*4882a593Smuzhiyun    },
1356*4882a593Smuzhiyun    {
1357*4882a593Smuzhiyun        "BriefDescription": "Average number of Write-in machines used. 1 of 8 WI machines is sampled every L3 cycle",
1358*4882a593Smuzhiyun        "MetricExpr": "(PM_L3_WI_USAGE / PM_RUN_CYC) * 8",
1359*4882a593Smuzhiyun        "MetricGroup": "l3_stats",
1360*4882a593Smuzhiyun        "MetricName": "l3_wi_usage"
1361*4882a593Smuzhiyun    },
1362*4882a593Smuzhiyun    {
1363*4882a593Smuzhiyun        "BriefDescription": "Average icache miss latency",
1364*4882a593Smuzhiyun        "MetricExpr": "PM_IC_DEMAND_CYC / PM_IC_DEMAND_REQ",
1365*4882a593Smuzhiyun        "MetricGroup": "latency",
1366*4882a593Smuzhiyun        "MetricName": "average_il1_miss_latency"
1367*4882a593Smuzhiyun    },
1368*4882a593Smuzhiyun    {
1369*4882a593Smuzhiyun        "BriefDescription": "Marked L2L3 remote Load latency",
1370*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_DL2L3_MOD_CYC/ PM_MRK_DATA_FROM_DL2L3_MOD",
1371*4882a593Smuzhiyun        "MetricGroup": "latency",
1372*4882a593Smuzhiyun        "MetricName": "dl2l3_mod_latency"
1373*4882a593Smuzhiyun    },
1374*4882a593Smuzhiyun    {
1375*4882a593Smuzhiyun        "BriefDescription": "Marked L2L3 distant Load latency",
1376*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_DL2L3_SHR_CYC/ PM_MRK_DATA_FROM_DL2L3_SHR",
1377*4882a593Smuzhiyun        "MetricGroup": "latency",
1378*4882a593Smuzhiyun        "MetricName": "dl2l3_shr_latency"
1379*4882a593Smuzhiyun    },
1380*4882a593Smuzhiyun    {
1381*4882a593Smuzhiyun        "BriefDescription": "Distant L4 average load latency",
1382*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_DL4_CYC/ PM_MRK_DATA_FROM_DL4",
1383*4882a593Smuzhiyun        "MetricGroup": "latency",
1384*4882a593Smuzhiyun        "MetricName": "dl4_latency"
1385*4882a593Smuzhiyun    },
1386*4882a593Smuzhiyun    {
1387*4882a593Smuzhiyun        "BriefDescription": "Marked Dmem Load latency",
1388*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_DMEM_CYC/ PM_MRK_DATA_FROM_DMEM",
1389*4882a593Smuzhiyun        "MetricGroup": "latency",
1390*4882a593Smuzhiyun        "MetricName": "dmem_latency"
1391*4882a593Smuzhiyun    },
1392*4882a593Smuzhiyun    {
1393*4882a593Smuzhiyun        "BriefDescription": "average L1 miss latency using marked events",
1394*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_LD_MISS_L1_CYC / PM_MRK_LD_MISS_L1",
1395*4882a593Smuzhiyun        "MetricGroup": "latency",
1396*4882a593Smuzhiyun        "MetricName": "estimated_dl1miss_latency"
1397*4882a593Smuzhiyun    },
1398*4882a593Smuzhiyun    {
1399*4882a593Smuzhiyun        "BriefDescription": "Marked L21 Load latency",
1400*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_L21_MOD_CYC/ PM_MRK_DATA_FROM_L21_MOD",
1401*4882a593Smuzhiyun        "MetricGroup": "latency",
1402*4882a593Smuzhiyun        "MetricName": "l21_mod_latency"
1403*4882a593Smuzhiyun    },
1404*4882a593Smuzhiyun    {
1405*4882a593Smuzhiyun        "BriefDescription": "Marked L21 Load latency",
1406*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_L21_SHR_CYC/ PM_MRK_DATA_FROM_L21_SHR",
1407*4882a593Smuzhiyun        "MetricGroup": "latency",
1408*4882a593Smuzhiyun        "MetricName": "l21_shr_latency"
1409*4882a593Smuzhiyun    },
1410*4882a593Smuzhiyun    {
1411*4882a593Smuzhiyun        "BriefDescription": "Marked L2 Load latency",
1412*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_L2_CYC/ PM_MRK_DATA_FROM_L2",
1413*4882a593Smuzhiyun        "MetricGroup": "latency",
1414*4882a593Smuzhiyun        "MetricName": "l2_latency"
1415*4882a593Smuzhiyun    },
1416*4882a593Smuzhiyun    {
1417*4882a593Smuzhiyun        "BriefDescription": "Marked L31 Load latency",
1418*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_L31_MOD_CYC/ PM_MRK_DATA_FROM_L31_MOD",
1419*4882a593Smuzhiyun        "MetricGroup": "latency",
1420*4882a593Smuzhiyun        "MetricName": "l31_mod_latency"
1421*4882a593Smuzhiyun    },
1422*4882a593Smuzhiyun    {
1423*4882a593Smuzhiyun        "BriefDescription": "Marked L31 Load latency",
1424*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_L31_SHR_CYC/ PM_MRK_DATA_FROM_L31_SHR",
1425*4882a593Smuzhiyun        "MetricGroup": "latency",
1426*4882a593Smuzhiyun        "MetricName": "l31_shr_latency"
1427*4882a593Smuzhiyun    },
1428*4882a593Smuzhiyun    {
1429*4882a593Smuzhiyun        "BriefDescription": "Marked L3 Load latency",
1430*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_L3_CYC/ PM_MRK_DATA_FROM_L3",
1431*4882a593Smuzhiyun        "MetricGroup": "latency",
1432*4882a593Smuzhiyun        "MetricName": "l3_latency"
1433*4882a593Smuzhiyun    },
1434*4882a593Smuzhiyun    {
1435*4882a593Smuzhiyun        "BriefDescription": "Local L4 average load latency",
1436*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_LL4_CYC/ PM_MRK_DATA_FROM_LL4",
1437*4882a593Smuzhiyun        "MetricGroup": "latency",
1438*4882a593Smuzhiyun        "MetricName": "ll4_latency"
1439*4882a593Smuzhiyun    },
1440*4882a593Smuzhiyun    {
1441*4882a593Smuzhiyun        "BriefDescription": "Marked Lmem Load latency",
1442*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_LMEM_CYC/ PM_MRK_DATA_FROM_LMEM",
1443*4882a593Smuzhiyun        "MetricGroup": "latency",
1444*4882a593Smuzhiyun        "MetricName": "lmem_latency"
1445*4882a593Smuzhiyun    },
1446*4882a593Smuzhiyun    {
1447*4882a593Smuzhiyun        "BriefDescription": "Marked L2L3 remote Load latency",
1448*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_RL2L3_MOD_CYC/ PM_MRK_DATA_FROM_RL2L3_MOD",
1449*4882a593Smuzhiyun        "MetricGroup": "latency",
1450*4882a593Smuzhiyun        "MetricName": "rl2l3_mod_latency"
1451*4882a593Smuzhiyun    },
1452*4882a593Smuzhiyun    {
1453*4882a593Smuzhiyun        "BriefDescription": "Marked L2L3 remote Load latency",
1454*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_RL2L3_SHR_CYC/ PM_MRK_DATA_FROM_RL2L3_SHR",
1455*4882a593Smuzhiyun        "MetricGroup": "latency",
1456*4882a593Smuzhiyun        "MetricName": "rl2l3_shr_latency"
1457*4882a593Smuzhiyun    },
1458*4882a593Smuzhiyun    {
1459*4882a593Smuzhiyun        "BriefDescription": "Remote L4 average load latency",
1460*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_RL4_CYC/ PM_MRK_DATA_FROM_RL4",
1461*4882a593Smuzhiyun        "MetricGroup": "latency",
1462*4882a593Smuzhiyun        "MetricName": "rl4_latency"
1463*4882a593Smuzhiyun    },
1464*4882a593Smuzhiyun    {
1465*4882a593Smuzhiyun        "BriefDescription": "Marked Rmem Load latency",
1466*4882a593Smuzhiyun        "MetricExpr": "PM_MRK_DATA_FROM_RMEM_CYC/ PM_MRK_DATA_FROM_RMEM",
1467*4882a593Smuzhiyun        "MetricGroup": "latency",
1468*4882a593Smuzhiyun        "MetricName": "rmem_latency"
1469*4882a593Smuzhiyun    },
1470*4882a593Smuzhiyun    {
1471*4882a593Smuzhiyun        "BriefDescription": "ERAT miss reject ratio",
1472*4882a593Smuzhiyun        "MetricExpr": "PM_LSU_REJECT_ERAT_MISS * 100 / PM_RUN_INST_CMPL",
1473*4882a593Smuzhiyun        "MetricGroup": "lsu_rejects",
1474*4882a593Smuzhiyun        "MetricName": "erat_reject_rate_percent"
1475*4882a593Smuzhiyun    },
1476*4882a593Smuzhiyun    {
1477*4882a593Smuzhiyun        "BriefDescription": "LHS reject ratio",
1478*4882a593Smuzhiyun        "MetricExpr": "PM_LSU_REJECT_LHS *100/ PM_RUN_INST_CMPL",
1479*4882a593Smuzhiyun        "MetricGroup": "lsu_rejects",
1480*4882a593Smuzhiyun        "MetricName": "lhs_reject_rate_percent"
1481*4882a593Smuzhiyun    },
1482*4882a593Smuzhiyun    {
1483*4882a593Smuzhiyun        "BriefDescription": "ERAT miss reject ratio",
1484*4882a593Smuzhiyun        "MetricExpr": "PM_LSU_REJECT_LMQ_FULL * 100 / PM_RUN_INST_CMPL",
1485*4882a593Smuzhiyun        "MetricGroup": "lsu_rejects",
1486*4882a593Smuzhiyun        "MetricName": "lmq_full_reject_rate_percent"
1487*4882a593Smuzhiyun    },
1488*4882a593Smuzhiyun    {
1489*4882a593Smuzhiyun        "BriefDescription": "ERAT miss reject ratio",
1490*4882a593Smuzhiyun        "MetricExpr": "PM_LSU_REJECT_LMQ_FULL * 100 / PM_LD_REF_L1",
1491*4882a593Smuzhiyun        "MetricGroup": "lsu_rejects",
1492*4882a593Smuzhiyun        "MetricName": "lmq_full_reject_ratio_percent"
1493*4882a593Smuzhiyun    },
1494*4882a593Smuzhiyun    {
1495*4882a593Smuzhiyun        "BriefDescription": "L4 locality(%)",
1496*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LL4 * 100 / (PM_DATA_FROM_LL4 + PM_DATA_FROM_RL4 + PM_DATA_FROM_DL4)",
1497*4882a593Smuzhiyun        "MetricGroup": "memory",
1498*4882a593Smuzhiyun        "MetricName": "l4_locality"
1499*4882a593Smuzhiyun    },
1500*4882a593Smuzhiyun    {
1501*4882a593Smuzhiyun        "BriefDescription": "Ratio of reloads from local L4 to distant L4",
1502*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LL4 / PM_DATA_FROM_DL4",
1503*4882a593Smuzhiyun        "MetricGroup": "memory",
1504*4882a593Smuzhiyun        "MetricName": "ld_ll4_per_ld_dmem"
1505*4882a593Smuzhiyun    },
1506*4882a593Smuzhiyun    {
1507*4882a593Smuzhiyun        "BriefDescription": "Ratio of reloads from local L4 to remote+distant L4",
1508*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LL4 / (PM_DATA_FROM_DL4 + PM_DATA_FROM_RL4)",
1509*4882a593Smuzhiyun        "MetricGroup": "memory",
1510*4882a593Smuzhiyun        "MetricName": "ld_ll4_per_ld_mem"
1511*4882a593Smuzhiyun    },
1512*4882a593Smuzhiyun    {
1513*4882a593Smuzhiyun        "BriefDescription": "Ratio of reloads from local L4 to remote L4",
1514*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LL4 / PM_DATA_FROM_RL4",
1515*4882a593Smuzhiyun        "MetricGroup": "memory",
1516*4882a593Smuzhiyun        "MetricName": "ld_ll4_per_ld_rl4"
1517*4882a593Smuzhiyun    },
1518*4882a593Smuzhiyun    {
1519*4882a593Smuzhiyun        "BriefDescription": "Number of loads from local memory per loads from distant memory",
1520*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM / PM_DATA_FROM_DMEM",
1521*4882a593Smuzhiyun        "MetricGroup": "memory",
1522*4882a593Smuzhiyun        "MetricName": "ld_lmem_per_ld_dmem"
1523*4882a593Smuzhiyun    },
1524*4882a593Smuzhiyun    {
1525*4882a593Smuzhiyun        "BriefDescription": "Number of loads from local memory per loads from remote and distant memory",
1526*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM / (PM_DATA_FROM_DMEM + PM_DATA_FROM_RMEM)",
1527*4882a593Smuzhiyun        "MetricGroup": "memory",
1528*4882a593Smuzhiyun        "MetricName": "ld_lmem_per_ld_mem"
1529*4882a593Smuzhiyun    },
1530*4882a593Smuzhiyun    {
1531*4882a593Smuzhiyun        "BriefDescription": "Number of loads from local memory per loads from remote memory",
1532*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM / PM_DATA_FROM_RMEM",
1533*4882a593Smuzhiyun        "MetricGroup": "memory",
1534*4882a593Smuzhiyun        "MetricName": "ld_lmem_per_ld_rmem"
1535*4882a593Smuzhiyun    },
1536*4882a593Smuzhiyun    {
1537*4882a593Smuzhiyun        "BriefDescription": "Number of loads from remote memory per loads from distant memory",
1538*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RMEM / PM_DATA_FROM_DMEM",
1539*4882a593Smuzhiyun        "MetricGroup": "memory",
1540*4882a593Smuzhiyun        "MetricName": "ld_rmem_per_ld_dmem"
1541*4882a593Smuzhiyun    },
1542*4882a593Smuzhiyun    {
1543*4882a593Smuzhiyun        "BriefDescription": "Memory locality",
1544*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LMEM * 100/ (PM_DATA_FROM_LMEM + PM_DATA_FROM_RMEM + PM_DATA_FROM_DMEM)",
1545*4882a593Smuzhiyun        "MetricGroup": "memory",
1546*4882a593Smuzhiyun        "MetricName": "mem_locality_percent"
1547*4882a593Smuzhiyun    },
1548*4882a593Smuzhiyun    {
1549*4882a593Smuzhiyun        "BriefDescription": "L1 Prefetches issued by the prefetch machine per instruction (per thread)",
1550*4882a593Smuzhiyun        "MetricExpr": "PM_L1_PREF / PM_RUN_INST_CMPL * 100",
1551*4882a593Smuzhiyun        "MetricGroup": "prefetch",
1552*4882a593Smuzhiyun        "MetricName": "l1_prefetch_rate_percent"
1553*4882a593Smuzhiyun    },
1554*4882a593Smuzhiyun    {
1555*4882a593Smuzhiyun        "BriefDescription": "DERAT Miss Rate (per run instruction)(%)",
1556*4882a593Smuzhiyun        "MetricExpr": "PM_LSU_DERAT_MISS * 100 / PM_RUN_INST_CMPL",
1557*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1558*4882a593Smuzhiyun        "MetricName": "derat_miss_rate_percent"
1559*4882a593Smuzhiyun    },
1560*4882a593Smuzhiyun    {
1561*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Modified) per inst",
1562*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DL2L3_MOD * 100 / PM_RUN_INST_CMPL",
1563*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1564*4882a593Smuzhiyun        "MetricName": "pteg_from_dl2l3_mod_rate_percent"
1565*4882a593Smuzhiyun    },
1566*4882a593Smuzhiyun    {
1567*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Shared) per inst",
1568*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DL2L3_SHR * 100 / PM_RUN_INST_CMPL",
1569*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1570*4882a593Smuzhiyun        "MetricName": "pteg_from_dl2l3_shr_rate_percent"
1571*4882a593Smuzhiyun    },
1572*4882a593Smuzhiyun    {
1573*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant L4 per inst",
1574*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DL4 * 100 / PM_RUN_INST_CMPL",
1575*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1576*4882a593Smuzhiyun        "MetricName": "pteg_from_dl4_rate_percent"
1577*4882a593Smuzhiyun    },
1578*4882a593Smuzhiyun    {
1579*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant Memory per inst",
1580*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DMEM * 100 / PM_RUN_INST_CMPL",
1581*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1582*4882a593Smuzhiyun        "MetricName": "pteg_from_dmem_rate_percent"
1583*4882a593Smuzhiyun    },
1584*4882a593Smuzhiyun    {
1585*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L2, other core per inst",
1586*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L21_MOD * 100 / PM_RUN_INST_CMPL",
1587*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1588*4882a593Smuzhiyun        "MetricName": "pteg_from_l21_mod_rate_percent"
1589*4882a593Smuzhiyun    },
1590*4882a593Smuzhiyun    {
1591*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L2, other core per inst",
1592*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L21_SHR * 100 / PM_RUN_INST_CMPL",
1593*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1594*4882a593Smuzhiyun        "MetricName": "pteg_from_l21_shr_rate_percent"
1595*4882a593Smuzhiyun    },
1596*4882a593Smuzhiyun    {
1597*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from L2 per inst",
1598*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL",
1599*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1600*4882a593Smuzhiyun        "MetricName": "pteg_from_l2_rate_percent"
1601*4882a593Smuzhiyun    },
1602*4882a593Smuzhiyun    {
1603*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L3, other core per inst",
1604*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L31_MOD * 100 / PM_RUN_INST_CMPL",
1605*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1606*4882a593Smuzhiyun        "MetricName": "pteg_from_l31_mod_rate_percent"
1607*4882a593Smuzhiyun    },
1608*4882a593Smuzhiyun    {
1609*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L3, other core per inst",
1610*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L31_SHR * 100 / PM_RUN_INST_CMPL",
1611*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1612*4882a593Smuzhiyun        "MetricName": "pteg_from_l31_shr_rate_percent"
1613*4882a593Smuzhiyun    },
1614*4882a593Smuzhiyun    {
1615*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from L3 per inst",
1616*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L3 * 100 / PM_RUN_INST_CMPL",
1617*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1618*4882a593Smuzhiyun        "MetricName": "pteg_from_l3_rate_percent"
1619*4882a593Smuzhiyun    },
1620*4882a593Smuzhiyun    {
1621*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Local L4 per inst",
1622*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_LL4 * 100 / PM_RUN_INST_CMPL",
1623*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1624*4882a593Smuzhiyun        "MetricName": "pteg_from_ll4_rate_percent"
1625*4882a593Smuzhiyun    },
1626*4882a593Smuzhiyun    {
1627*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Local Memory per inst",
1628*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_LMEM * 100 / PM_RUN_INST_CMPL",
1629*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1630*4882a593Smuzhiyun        "MetricName": "pteg_from_lmem_rate_percent"
1631*4882a593Smuzhiyun    },
1632*4882a593Smuzhiyun    {
1633*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Modified) per inst",
1634*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RL2L3_MOD * 100 / PM_RUN_INST_CMPL",
1635*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1636*4882a593Smuzhiyun        "MetricName": "pteg_from_rl2l3_mod_rate_percent"
1637*4882a593Smuzhiyun    },
1638*4882a593Smuzhiyun    {
1639*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Shared) per inst",
1640*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RL2L3_SHR * 100 / PM_RUN_INST_CMPL",
1641*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1642*4882a593Smuzhiyun        "MetricName": "pteg_from_rl2l3_shr_rate_percent"
1643*4882a593Smuzhiyun    },
1644*4882a593Smuzhiyun    {
1645*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote L4 per inst",
1646*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RL4 * 100 / PM_RUN_INST_CMPL",
1647*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1648*4882a593Smuzhiyun        "MetricName": "pteg_from_rl4_rate_percent"
1649*4882a593Smuzhiyun    },
1650*4882a593Smuzhiyun    {
1651*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote Memory per inst",
1652*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RMEM * 100 / PM_RUN_INST_CMPL",
1653*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_inst",
1654*4882a593Smuzhiyun        "MetricName": "pteg_from_rmem_rate_percent"
1655*4882a593Smuzhiyun    },
1656*4882a593Smuzhiyun    {
1657*4882a593Smuzhiyun        "BriefDescription": "% of DERAT misses that result in an ERAT reload",
1658*4882a593Smuzhiyun        "MetricExpr": "PM_DTLB_MISS * 100 / PM_LSU_DERAT_MISS",
1659*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1660*4882a593Smuzhiyun        "MetricName": "derat_miss_reload_percent"
1661*4882a593Smuzhiyun    },
1662*4882a593Smuzhiyun    {
1663*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Modified)",
1664*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DL2L3_MOD * 100 / PM_DTLB_MISS",
1665*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1666*4882a593Smuzhiyun        "MetricName": "pteg_from_dl2l3_mod_percent"
1667*4882a593Smuzhiyun    },
1668*4882a593Smuzhiyun    {
1669*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Shared)",
1670*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DL2L3_SHR * 100 / PM_DTLB_MISS",
1671*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1672*4882a593Smuzhiyun        "MetricName": "pteg_from_dl2l3_shr_percent"
1673*4882a593Smuzhiyun    },
1674*4882a593Smuzhiyun    {
1675*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant L4",
1676*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DL4 * 100 / PM_DTLB_MISS",
1677*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1678*4882a593Smuzhiyun        "MetricName": "pteg_from_dl4_percent"
1679*4882a593Smuzhiyun    },
1680*4882a593Smuzhiyun    {
1681*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Distant Memory",
1682*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_DMEM * 100 / PM_DTLB_MISS",
1683*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1684*4882a593Smuzhiyun        "MetricName": "pteg_from_dmem_percent"
1685*4882a593Smuzhiyun    },
1686*4882a593Smuzhiyun    {
1687*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L2, other core",
1688*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L21_MOD * 100 / PM_DTLB_MISS",
1689*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1690*4882a593Smuzhiyun        "MetricName": "pteg_from_l21_mod_percent"
1691*4882a593Smuzhiyun    },
1692*4882a593Smuzhiyun    {
1693*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L2, other core",
1694*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L21_SHR * 100 / PM_DTLB_MISS",
1695*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1696*4882a593Smuzhiyun        "MetricName": "pteg_from_l21_shr_percent"
1697*4882a593Smuzhiyun    },
1698*4882a593Smuzhiyun    {
1699*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from L2",
1700*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L2 * 100 / PM_DTLB_MISS",
1701*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1702*4882a593Smuzhiyun        "MetricName": "pteg_from_l2_percent"
1703*4882a593Smuzhiyun    },
1704*4882a593Smuzhiyun    {
1705*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L3, other core",
1706*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L31_MOD * 100 / PM_DTLB_MISS",
1707*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1708*4882a593Smuzhiyun        "MetricName": "pteg_from_l31_mod_percent"
1709*4882a593Smuzhiyun    },
1710*4882a593Smuzhiyun    {
1711*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Private L3, other core",
1712*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L31_SHR * 100 / PM_DTLB_MISS",
1713*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1714*4882a593Smuzhiyun        "MetricName": "pteg_from_l31_shr_percent"
1715*4882a593Smuzhiyun    },
1716*4882a593Smuzhiyun    {
1717*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from L3",
1718*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L3 * 100 / PM_DTLB_MISS",
1719*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1720*4882a593Smuzhiyun        "MetricName": "pteg_from_l3_percent"
1721*4882a593Smuzhiyun    },
1722*4882a593Smuzhiyun    {
1723*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Local L4",
1724*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_LL4 * 100 / PM_DTLB_MISS",
1725*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1726*4882a593Smuzhiyun        "MetricName": "pteg_from_ll4_percent"
1727*4882a593Smuzhiyun    },
1728*4882a593Smuzhiyun    {
1729*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Local Memory",
1730*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_LMEM * 100 / PM_DTLB_MISS",
1731*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1732*4882a593Smuzhiyun        "MetricName": "pteg_from_lmem_percent"
1733*4882a593Smuzhiyun    },
1734*4882a593Smuzhiyun    {
1735*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Modified)",
1736*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RL2L3_MOD * 100 / PM_DTLB_MISS",
1737*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1738*4882a593Smuzhiyun        "MetricName": "pteg_from_rl2l3_mod_percent"
1739*4882a593Smuzhiyun    },
1740*4882a593Smuzhiyun    {
1741*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Shared)",
1742*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RL2L3_SHR * 100 / PM_DTLB_MISS",
1743*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1744*4882a593Smuzhiyun        "MetricName": "pteg_from_rl2l3_shr_percent"
1745*4882a593Smuzhiyun    },
1746*4882a593Smuzhiyun    {
1747*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote L4",
1748*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RL4 * 100 / PM_DTLB_MISS",
1749*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1750*4882a593Smuzhiyun        "MetricName": "pteg_from_rl4_percent"
1751*4882a593Smuzhiyun    },
1752*4882a593Smuzhiyun    {
1753*4882a593Smuzhiyun        "BriefDescription": "% of DERAT reloads from Remote Memory",
1754*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_RMEM * 100 / PM_DTLB_MISS",
1755*4882a593Smuzhiyun        "MetricGroup": "pteg_reloads_percent_per_ref",
1756*4882a593Smuzhiyun        "MetricName": "pteg_from_rmem_percent"
1757*4882a593Smuzhiyun    },
1758*4882a593Smuzhiyun    {
1759*4882a593Smuzhiyun        "BriefDescription": "% DERAT miss rate for 4K page per inst",
1760*4882a593Smuzhiyun        "MetricExpr": "PM_DERAT_MISS_4K * 100 / PM_RUN_INST_CMPL",
1761*4882a593Smuzhiyun        "MetricGroup": "translation",
1762*4882a593Smuzhiyun        "MetricName": "derat_4k_miss_rate_percent"
1763*4882a593Smuzhiyun    },
1764*4882a593Smuzhiyun    {
1765*4882a593Smuzhiyun        "BriefDescription": "DERAT miss ratio for 4K page",
1766*4882a593Smuzhiyun        "MetricExpr": "PM_DERAT_MISS_4K / PM_LSU_DERAT_MISS",
1767*4882a593Smuzhiyun        "MetricGroup": "translation",
1768*4882a593Smuzhiyun        "MetricName": "derat_4k_miss_ratio"
1769*4882a593Smuzhiyun    },
1770*4882a593Smuzhiyun    {
1771*4882a593Smuzhiyun        "BriefDescription": "% DERAT miss ratio for 64K page per inst",
1772*4882a593Smuzhiyun        "MetricExpr": "PM_DERAT_MISS_64K * 100 / PM_RUN_INST_CMPL",
1773*4882a593Smuzhiyun        "MetricGroup": "translation",
1774*4882a593Smuzhiyun        "MetricName": "derat_64k_miss_rate_percent"
1775*4882a593Smuzhiyun    },
1776*4882a593Smuzhiyun    {
1777*4882a593Smuzhiyun        "BriefDescription": "DERAT miss ratio for 64K page",
1778*4882a593Smuzhiyun        "MetricExpr": "PM_DERAT_MISS_64K / PM_LSU_DERAT_MISS",
1779*4882a593Smuzhiyun        "MetricGroup": "translation",
1780*4882a593Smuzhiyun        "MetricName": "derat_64k_miss_ratio"
1781*4882a593Smuzhiyun    },
1782*4882a593Smuzhiyun    {
1783*4882a593Smuzhiyun        "BriefDescription": "DERAT miss ratio",
1784*4882a593Smuzhiyun        "MetricExpr": "PM_LSU_DERAT_MISS / PM_LSU_DERAT_MISS",
1785*4882a593Smuzhiyun        "MetricGroup": "translation",
1786*4882a593Smuzhiyun        "MetricName": "derat_miss_ratio"
1787*4882a593Smuzhiyun    },
1788*4882a593Smuzhiyun    {
1789*4882a593Smuzhiyun        "BriefDescription": "% DSLB_Miss_Rate per inst",
1790*4882a593Smuzhiyun        "MetricExpr": "PM_DSLB_MISS * 100 / PM_RUN_INST_CMPL",
1791*4882a593Smuzhiyun        "MetricGroup": "translation",
1792*4882a593Smuzhiyun        "MetricName": "dslb_miss_rate_percent"
1793*4882a593Smuzhiyun    },
1794*4882a593Smuzhiyun    {
1795*4882a593Smuzhiyun        "BriefDescription": "% ISLB miss rate per inst",
1796*4882a593Smuzhiyun        "MetricExpr": "PM_ISLB_MISS * 100 / PM_RUN_INST_CMPL",
1797*4882a593Smuzhiyun        "MetricGroup": "translation",
1798*4882a593Smuzhiyun        "MetricName": "islb_miss_rate_percent"
1799*4882a593Smuzhiyun    },
1800*4882a593Smuzhiyun    {
1801*4882a593Smuzhiyun        "BriefDescription": "ANY_SYNC_STALL_CPI",
1802*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_ANY_SYNC / PM_RUN_INST_CMPL",
1803*4882a593Smuzhiyun        "MetricName": "any_sync_stall_cpi"
1804*4882a593Smuzhiyun    },
1805*4882a593Smuzhiyun    {
1806*4882a593Smuzhiyun        "BriefDescription": "Avg. more than 1 instructions completed",
1807*4882a593Smuzhiyun        "MetricExpr": "PM_INST_CMPL / PM_1PLUS_PPC_CMPL",
1808*4882a593Smuzhiyun        "MetricName": "average_completed_instruction_set_size"
1809*4882a593Smuzhiyun    },
1810*4882a593Smuzhiyun    {
1811*4882a593Smuzhiyun        "BriefDescription": "% Branches per instruction",
1812*4882a593Smuzhiyun        "MetricExpr": "PM_BRU_FIN / PM_RUN_INST_CMPL",
1813*4882a593Smuzhiyun        "MetricName": "branches_per_inst"
1814*4882a593Smuzhiyun    },
1815*4882a593Smuzhiyun    {
1816*4882a593Smuzhiyun        "BriefDescription": "Cycles in which at least one instruction completes in this thread",
1817*4882a593Smuzhiyun        "MetricExpr": "PM_1PLUS_PPC_CMPL/PM_RUN_INST_CMPL",
1818*4882a593Smuzhiyun        "MetricName": "completion_cpi"
1819*4882a593Smuzhiyun    },
1820*4882a593Smuzhiyun    {
1821*4882a593Smuzhiyun        "BriefDescription": "cycles",
1822*4882a593Smuzhiyun        "MetricExpr": "PM_RUN_CYC",
1823*4882a593Smuzhiyun        "MetricName": "custom_secs"
1824*4882a593Smuzhiyun    },
1825*4882a593Smuzhiyun    {
1826*4882a593Smuzhiyun        "BriefDescription": "Percentage Cycles atleast one instruction dispatched",
1827*4882a593Smuzhiyun        "MetricExpr": "PM_1PLUS_PPC_DISP / PM_CYC * 100",
1828*4882a593Smuzhiyun        "MetricName": "cycles_atleast_one_inst_dispatched_percent"
1829*4882a593Smuzhiyun    },
1830*4882a593Smuzhiyun    {
1831*4882a593Smuzhiyun        "BriefDescription": "Cycles per instruction group",
1832*4882a593Smuzhiyun        "MetricExpr": "PM_CYC / PM_1PLUS_PPC_CMPL",
1833*4882a593Smuzhiyun        "MetricName": "cycles_per_completed_instructions_set"
1834*4882a593Smuzhiyun    },
1835*4882a593Smuzhiyun    {
1836*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Distant L4",
1837*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL4 * 100 / PM_L1_DCACHE_RELOAD_VALID",
1838*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dl4_percent"
1839*4882a593Smuzhiyun    },
1840*4882a593Smuzhiyun    {
1841*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Distant L4 per Inst",
1842*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_DL4 * 100 / PM_RUN_INST_CMPL",
1843*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_dl4_rate_percent"
1844*4882a593Smuzhiyun    },
1845*4882a593Smuzhiyun    {
1846*4882a593Smuzhiyun        "BriefDescription": "% of DL1 reloads from Private L3, other core per Inst",
1847*4882a593Smuzhiyun        "MetricExpr": "dl1_reload_from_l31_mod_rate_percent + dl1_reload_from_l31_shr_rate_percent",
1848*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_l31_rate_percent"
1849*4882a593Smuzhiyun    },
1850*4882a593Smuzhiyun    {
1851*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Local L4",
1852*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LL4 * 100 / PM_L1_DCACHE_RELOAD_VALID",
1853*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_ll4_percent"
1854*4882a593Smuzhiyun    },
1855*4882a593Smuzhiyun    {
1856*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Local L4 per Inst",
1857*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_LL4 * 100 / PM_RUN_INST_CMPL",
1858*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_ll4_rate_percent"
1859*4882a593Smuzhiyun    },
1860*4882a593Smuzhiyun    {
1861*4882a593Smuzhiyun        "BriefDescription": "% of DL1 dL1_Reloads from Remote L4",
1862*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL4 * 100 / PM_L1_DCACHE_RELOAD_VALID",
1863*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rl4_percent"
1864*4882a593Smuzhiyun    },
1865*4882a593Smuzhiyun    {
1866*4882a593Smuzhiyun        "BriefDescription": "% of DL1 Reloads from Remote Memory per Inst",
1867*4882a593Smuzhiyun        "MetricExpr": "PM_DATA_FROM_RL4 * 100 / PM_RUN_INST_CMPL",
1868*4882a593Smuzhiyun        "MetricName": "dl1_reload_from_rl4_rate_percent"
1869*4882a593Smuzhiyun    },
1870*4882a593Smuzhiyun    {
1871*4882a593Smuzhiyun        "BriefDescription": "Rate of DERAT reloads from L2",
1872*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL",
1873*4882a593Smuzhiyun        "MetricName": "dpteg_from_l2_rate_percent"
1874*4882a593Smuzhiyun    },
1875*4882a593Smuzhiyun    {
1876*4882a593Smuzhiyun        "BriefDescription": "Rate of DERAT reloads from L3",
1877*4882a593Smuzhiyun        "MetricExpr": "PM_DPTEG_FROM_L3 * 100 / PM_RUN_INST_CMPL",
1878*4882a593Smuzhiyun        "MetricName": "dpteg_from_l3_rate_percent"
1879*4882a593Smuzhiyun    },
1880*4882a593Smuzhiyun    {
1881*4882a593Smuzhiyun        "BriefDescription": "Cycles in which the oldest instruction is finished and ready to complete for waiting to get through the completion pipe",
1882*4882a593Smuzhiyun        "MetricExpr": "PM_NTC_ALL_FIN / PM_RUN_INST_CMPL",
1883*4882a593Smuzhiyun        "MetricName": "finish_to_cmpl_cpi"
1884*4882a593Smuzhiyun    },
1885*4882a593Smuzhiyun    {
1886*4882a593Smuzhiyun        "BriefDescription": "Total Fixed point operations",
1887*4882a593Smuzhiyun        "MetricExpr": "PM_FXU_FIN/PM_RUN_INST_CMPL",
1888*4882a593Smuzhiyun        "MetricName": "fixed_per_inst"
1889*4882a593Smuzhiyun    },
1890*4882a593Smuzhiyun    {
1891*4882a593Smuzhiyun        "BriefDescription": "All FXU Busy",
1892*4882a593Smuzhiyun        "MetricExpr": "PM_FXU_BUSY / PM_CYC",
1893*4882a593Smuzhiyun        "MetricName": "fxu_all_busy"
1894*4882a593Smuzhiyun    },
1895*4882a593Smuzhiyun    {
1896*4882a593Smuzhiyun        "BriefDescription": "All FXU Idle",
1897*4882a593Smuzhiyun        "MetricExpr": "PM_FXU_IDLE / PM_CYC",
1898*4882a593Smuzhiyun        "MetricName": "fxu_all_idle"
1899*4882a593Smuzhiyun    },
1900*4882a593Smuzhiyun    {
1901*4882a593Smuzhiyun        "BriefDescription": "Rate of IERAT reloads from L2",
1902*4882a593Smuzhiyun        "MetricExpr": "PM_IPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL",
1903*4882a593Smuzhiyun        "MetricName": "ipteg_from_l2_rate_percent"
1904*4882a593Smuzhiyun    },
1905*4882a593Smuzhiyun    {
1906*4882a593Smuzhiyun        "BriefDescription": "Rate of IERAT reloads from L3",
1907*4882a593Smuzhiyun        "MetricExpr": "PM_IPTEG_FROM_L3 * 100 / PM_RUN_INST_CMPL",
1908*4882a593Smuzhiyun        "MetricName": "ipteg_from_l3_rate_percent"
1909*4882a593Smuzhiyun    },
1910*4882a593Smuzhiyun    {
1911*4882a593Smuzhiyun        "BriefDescription": "Rate of IERAT reloads from local memory",
1912*4882a593Smuzhiyun        "MetricExpr": "PM_IPTEG_FROM_LL4 * 100 / PM_RUN_INST_CMPL",
1913*4882a593Smuzhiyun        "MetricName": "ipteg_from_ll4_rate_percent"
1914*4882a593Smuzhiyun    },
1915*4882a593Smuzhiyun    {
1916*4882a593Smuzhiyun        "BriefDescription": "Rate of IERAT reloads from local memory",
1917*4882a593Smuzhiyun        "MetricExpr": "PM_IPTEG_FROM_LMEM * 100 / PM_RUN_INST_CMPL",
1918*4882a593Smuzhiyun        "MetricName": "ipteg_from_lmem_rate_percent"
1919*4882a593Smuzhiyun    },
1920*4882a593Smuzhiyun    {
1921*4882a593Smuzhiyun        "BriefDescription": "Average number of Castout machines used. 1 of 16 CO machines is sampled every L2 cycle",
1922*4882a593Smuzhiyun        "MetricExpr": "PM_CO_USAGE / PM_RUN_CYC * 16",
1923*4882a593Smuzhiyun        "MetricName": "l2_co_usage"
1924*4882a593Smuzhiyun    },
1925*4882a593Smuzhiyun    {
1926*4882a593Smuzhiyun        "BriefDescription": "Percent of instruction reads out of all L2 commands",
1927*4882a593Smuzhiyun        "MetricExpr": "PM_ISIDE_DISP * 100 / (PM_L2_ST + PM_L2_LD + PM_ISIDE_DISP)",
1928*4882a593Smuzhiyun        "MetricName": "l2_instr_commands_percent"
1929*4882a593Smuzhiyun    },
1930*4882a593Smuzhiyun    {
1931*4882a593Smuzhiyun        "BriefDescription": "Percent of loads out of all L2 commands",
1932*4882a593Smuzhiyun        "MetricExpr": "PM_L2_LD * 100 / (PM_L2_ST + PM_L2_LD + PM_ISIDE_DISP)",
1933*4882a593Smuzhiyun        "MetricName": "l2_ld_commands_percent"
1934*4882a593Smuzhiyun    },
1935*4882a593Smuzhiyun    {
1936*4882a593Smuzhiyun        "BriefDescription": "Rate of L2 store dispatches that failed per core",
1937*4882a593Smuzhiyun        "MetricExpr": "100 * (PM_L2_RCST_DISP_FAIL_ADDR + PM_L2_RCST_DISP_FAIL_OTHER)/2 / PM_RUN_INST_CMPL",
1938*4882a593Smuzhiyun        "MetricName": "l2_rc_st_disp_fail_rate_percent"
1939*4882a593Smuzhiyun    },
1940*4882a593Smuzhiyun    {
1941*4882a593Smuzhiyun        "BriefDescription": "Average number of Read/Claim machines used. 1 of 16 RC machines is sampled every L2 cycle",
1942*4882a593Smuzhiyun        "MetricExpr": "PM_RC_USAGE / PM_RUN_CYC * 16",
1943*4882a593Smuzhiyun        "MetricName": "l2_rc_usage"
1944*4882a593Smuzhiyun    },
1945*4882a593Smuzhiyun    {
1946*4882a593Smuzhiyun        "BriefDescription": "Average number of Snoop machines used. 1 of 8 SN machines is sampled every L2 cycle",
1947*4882a593Smuzhiyun        "MetricExpr": "PM_SN_USAGE / PM_RUN_CYC * 8",
1948*4882a593Smuzhiyun        "MetricName": "l2_sn_usage"
1949*4882a593Smuzhiyun    },
1950*4882a593Smuzhiyun    {
1951*4882a593Smuzhiyun        "BriefDescription": "Percent of stores out of all L2 commands",
1952*4882a593Smuzhiyun        "MetricExpr": "PM_L2_ST * 100 / (PM_L2_ST + PM_L2_LD + PM_ISIDE_DISP)",
1953*4882a593Smuzhiyun        "MetricName": "l2_st_commands_percent"
1954*4882a593Smuzhiyun    },
1955*4882a593Smuzhiyun    {
1956*4882a593Smuzhiyun        "BriefDescription": "Rate of L2 store dispatches that failed per core",
1957*4882a593Smuzhiyun        "MetricExpr": "100 * (PM_L2_RCST_DISP_FAIL_ADDR + PM_L2_RCST_DISP_FAIL_OTHER)/2 / PM_RUN_INST_CMPL",
1958*4882a593Smuzhiyun        "MetricName": "l2_st_disp_fail_rate_percent"
1959*4882a593Smuzhiyun    },
1960*4882a593Smuzhiyun    {
1961*4882a593Smuzhiyun        "BriefDescription": "Rate of L2 dispatches per core",
1962*4882a593Smuzhiyun        "MetricExpr": "100 * PM_L2_RCST_DISP/2 / PM_RUN_INST_CMPL",
1963*4882a593Smuzhiyun        "MetricName": "l2_st_disp_rate_percent"
1964*4882a593Smuzhiyun    },
1965*4882a593Smuzhiyun    {
1966*4882a593Smuzhiyun        "BriefDescription": "Marked L31 Load latency",
1967*4882a593Smuzhiyun        "MetricExpr": "(PM_MRK_DATA_FROM_L31_SHR_CYC + PM_MRK_DATA_FROM_L31_MOD_CYC) / (PM_MRK_DATA_FROM_L31_SHR + PM_MRK_DATA_FROM_L31_MOD)",
1968*4882a593Smuzhiyun        "MetricName": "l31_latency"
1969*4882a593Smuzhiyun    },
1970*4882a593Smuzhiyun    {
1971*4882a593Smuzhiyun        "BriefDescription": "PCT instruction loads",
1972*4882a593Smuzhiyun        "MetricExpr": "PM_LD_REF_L1 / PM_RUN_INST_CMPL",
1973*4882a593Smuzhiyun        "MetricName": "loads_per_inst"
1974*4882a593Smuzhiyun    },
1975*4882a593Smuzhiyun    {
1976*4882a593Smuzhiyun        "BriefDescription": "Cycles stalled by D-Cache Misses",
1977*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL",
1978*4882a593Smuzhiyun        "MetricName": "lsu_stall_dcache_miss_cpi"
1979*4882a593Smuzhiyun    },
1980*4882a593Smuzhiyun    {
1981*4882a593Smuzhiyun        "BriefDescription": "Completion stall because a different thread was using the completion pipe",
1982*4882a593Smuzhiyun        "MetricExpr": "thread_block_stall_cpi - exception_stall_cpi - any_sync_stall_cpi - sync_pmu_int_stall_cpi - spec_finish_stall_cpi - flush_any_thread_stall_cpi - lsu_flush_next_stall_cpi - nested_tbegin_stall_cpi - nested_tend_stall_cpi - mtfpscr_stall_cpi",
1983*4882a593Smuzhiyun        "MetricName": "other_thread_cmpl_stall"
1984*4882a593Smuzhiyun    },
1985*4882a593Smuzhiyun    {
1986*4882a593Smuzhiyun        "BriefDescription": "PCT instruction stores",
1987*4882a593Smuzhiyun        "MetricExpr": "PM_ST_FIN / PM_RUN_INST_CMPL",
1988*4882a593Smuzhiyun        "MetricName": "stores_per_inst"
1989*4882a593Smuzhiyun    },
1990*4882a593Smuzhiyun    {
1991*4882a593Smuzhiyun        "BriefDescription": "ANY_SYNC_STALL_CPI",
1992*4882a593Smuzhiyun        "MetricExpr": "PM_CMPLU_STALL_SYNC_PMU_INT / PM_RUN_INST_CMPL",
1993*4882a593Smuzhiyun        "MetricName": "sync_pmu_int_stall_cpi"
1994*4882a593Smuzhiyun    }
1995*4882a593Smuzhiyun]
1996