1c4e1dc4aSJohn Garry[ 2c4e1dc4aSJohn Garry { 3c4e1dc4aSJohn Garry "MetricExpr": "FETCH_BUBBLE / (4 * CPU_CYCLES)", 4c4e1dc4aSJohn Garry "PublicDescription": "Frontend bound L1 topdown metric", 5c4e1dc4aSJohn Garry "BriefDescription": "Frontend bound L1 topdown metric", 6c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 7c4e1dc4aSJohn Garry "MetricName": "frontend_bound" 8c4e1dc4aSJohn Garry }, 9c4e1dc4aSJohn Garry { 10c4e1dc4aSJohn Garry "MetricExpr": "(INST_SPEC - INST_RETIRED) / (4 * CPU_CYCLES)", 11c4e1dc4aSJohn Garry "PublicDescription": "Bad Speculation L1 topdown metric", 12c4e1dc4aSJohn Garry "BriefDescription": "Bad Speculation L1 topdown metric", 13c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 14c4e1dc4aSJohn Garry "MetricName": "bad_speculation" 15c4e1dc4aSJohn Garry }, 16c4e1dc4aSJohn Garry { 17c4e1dc4aSJohn Garry "MetricExpr": "INST_RETIRED / (CPU_CYCLES * 4)", 18c4e1dc4aSJohn Garry "PublicDescription": "Retiring L1 topdown metric", 19c4e1dc4aSJohn Garry "BriefDescription": "Retiring L1 topdown metric", 20c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 21c4e1dc4aSJohn Garry "MetricName": "retiring" 22c4e1dc4aSJohn Garry }, 23c4e1dc4aSJohn Garry { 24c4e1dc4aSJohn Garry "MetricExpr": "1 - (frontend_bound + bad_speculation + retiring)", 25c4e1dc4aSJohn Garry "PublicDescription": "Backend Bound L1 topdown metric", 26c4e1dc4aSJohn Garry "BriefDescription": "Backend Bound L1 topdown metric", 27c4e1dc4aSJohn Garry "MetricGroup": "TopDownL1", 28c4e1dc4aSJohn Garry "MetricName": "backend_bound" 29c4e1dc4aSJohn Garry }, 3003837173SJohn Garry { 3103837173SJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x201d@ / CPU_CYCLES", 3203837173SJohn Garry "PublicDescription": "Fetch latency bound L2 topdown metric", 3303837173SJohn Garry "BriefDescription": "Fetch latency bound L2 topdown metric", 3403837173SJohn Garry "MetricGroup": "TopDownL2", 3503837173SJohn Garry "MetricName": "fetch_latency_bound" 3603837173SJohn Garry }, 3703837173SJohn Garry { 3803837173SJohn Garry "MetricExpr": "frontend_bound - fetch_latency_bound", 3903837173SJohn Garry "PublicDescription": "Fetch bandwidth bound L2 topdown metric", 4003837173SJohn Garry "BriefDescription": "Fetch bandwidth bound L2 topdown metric", 4103837173SJohn Garry "MetricGroup": "TopDownL2", 4203837173SJohn Garry "MetricName": "fetch_bandwidth_bound" 4303837173SJohn Garry }, 4403837173SJohn Garry { 4503837173SJohn Garry "MetricExpr": "(bad_speculation * BR_MIS_PRED) / (BR_MIS_PRED + armv8_pmuv3_0@event\\=0x2013@)", 4603837173SJohn Garry "PublicDescription": "Branch mispredicts L2 topdown metric", 4703837173SJohn Garry "BriefDescription": "Branch mispredicts L2 topdown metric", 4803837173SJohn Garry "MetricGroup": "TopDownL2", 4903837173SJohn Garry "MetricName": "branch_mispredicts" 5003837173SJohn Garry }, 5103837173SJohn Garry { 5203837173SJohn Garry "MetricExpr": "bad_speculation - branch_mispredicts", 5303837173SJohn Garry "PublicDescription": "Machine clears L2 topdown metric", 5403837173SJohn Garry "BriefDescription": "Machine clears L2 topdown metric", 5503837173SJohn Garry "MetricGroup": "TopDownL2", 5603837173SJohn Garry "MetricName": "machine_clears" 5703837173SJohn Garry }, 5803837173SJohn Garry { 5903837173SJohn Garry "MetricExpr": "(EXE_STALL_CYCLE - (MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@)) / CPU_CYCLES", 6003837173SJohn Garry "PublicDescription": "Core bound L2 topdown metric", 6103837173SJohn Garry "BriefDescription": "Core bound L2 topdown metric", 6203837173SJohn Garry "MetricGroup": "TopDownL2", 6303837173SJohn Garry "MetricName": "core_bound" 6403837173SJohn Garry }, 6503837173SJohn Garry { 6603837173SJohn Garry "MetricExpr": "(MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@) / CPU_CYCLES", 6703837173SJohn Garry "PublicDescription": "Memory bound L2 topdown metric", 6803837173SJohn Garry "BriefDescription": "Memory bound L2 topdown metric", 6903837173SJohn Garry "MetricGroup": "TopDownL2", 7003837173SJohn Garry "MetricName": "memory_bound" 7103837173SJohn Garry }, 72*0cc177cfSJohn Garry { 73*0cc177cfSJohn Garry "MetricExpr": "(((L2I_TLB - L2I_TLB_REFILL) * 15) + (L2I_TLB_REFILL * 100)) / CPU_CYCLES", 74*0cc177cfSJohn Garry "PublicDescription": "Idle by itlb miss L3 topdown metric", 75*0cc177cfSJohn Garry "BriefDescription": "Idle by itlb miss L3 topdown metric", 76*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 77*0cc177cfSJohn Garry "MetricName": "idle_by_itlb_miss" 78*0cc177cfSJohn Garry }, 79*0cc177cfSJohn Garry { 80*0cc177cfSJohn Garry "MetricExpr": "(((L2I_CACHE - L2I_CACHE_REFILL) * 15) + (L2I_CACHE_REFILL * 100)) / CPU_CYCLES", 81*0cc177cfSJohn Garry "PublicDescription": "Idle by icache miss L3 topdown metric", 82*0cc177cfSJohn Garry "BriefDescription": "Idle by icache miss L3 topdown metric", 83*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 84*0cc177cfSJohn Garry "MetricName": "idle_by_icache_miss" 85*0cc177cfSJohn Garry }, 86*0cc177cfSJohn Garry { 87*0cc177cfSJohn Garry "MetricExpr": "(BR_MIS_PRED * 5) / CPU_CYCLES", 88*0cc177cfSJohn Garry "PublicDescription": "BP misp flush L3 topdown metric", 89*0cc177cfSJohn Garry "BriefDescription": "BP misp flush L3 topdown metric", 90*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 91*0cc177cfSJohn Garry "MetricName": "bp_misp_flush" 92*0cc177cfSJohn Garry }, 93*0cc177cfSJohn Garry { 94*0cc177cfSJohn Garry "MetricExpr": "(armv8_pmuv3_0@event\\=0x2013@ * 5) / CPU_CYCLES", 95*0cc177cfSJohn Garry "PublicDescription": "OOO flush L3 topdown metric", 96*0cc177cfSJohn Garry "BriefDescription": "OOO flush L3 topdown metric", 97*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 98*0cc177cfSJohn Garry "MetricName": "ooo_flush" 99*0cc177cfSJohn Garry }, 100*0cc177cfSJohn Garry { 101*0cc177cfSJohn Garry "MetricExpr": "(armv8_pmuv3_0@event\\=0x1001@ * 5) / CPU_CYCLES", 102*0cc177cfSJohn Garry "PublicDescription": "Static predictor flush L3 topdown metric", 103*0cc177cfSJohn Garry "BriefDescription": "Static predictor flush L3 topdown metric", 104*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 105*0cc177cfSJohn Garry "MetricName": "sp_flush" 106*0cc177cfSJohn Garry }, 107*0cc177cfSJohn Garry { 108*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x1010@ / BR_MIS_PRED", 109*0cc177cfSJohn Garry "PublicDescription": "Indirect branch L3 topdown metric", 110*0cc177cfSJohn Garry "BriefDescription": "Indirect branch L3 topdown metric", 111*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 112*0cc177cfSJohn Garry "MetricName": "indirect_branch" 113*0cc177cfSJohn Garry }, 114*0cc177cfSJohn Garry { 115*0cc177cfSJohn Garry "MetricExpr": "(armv8_pmuv3_0@event\\=0x1014@ + armv8_pmuv3_0@event\\=0x1018@) / BR_MIS_PRED", 116*0cc177cfSJohn Garry "PublicDescription": "Push branch L3 topdown metric", 117*0cc177cfSJohn Garry "BriefDescription": "Push branch L3 topdown metric", 118*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 119*0cc177cfSJohn Garry "MetricName": "push_branch" 120*0cc177cfSJohn Garry }, 121*0cc177cfSJohn Garry { 122*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x100c@ / BR_MIS_PRED", 123*0cc177cfSJohn Garry "PublicDescription": "Pop branch L3 topdown metric", 124*0cc177cfSJohn Garry "BriefDescription": "Pop branch L3 topdown metric", 125*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 126*0cc177cfSJohn Garry "MetricName": "pop_branch" 127*0cc177cfSJohn Garry }, 128*0cc177cfSJohn Garry { 129*0cc177cfSJohn Garry "MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1014@ - armv8_pmuv3_0@event\\=0x1018@ - armv8_pmuv3_0@event\\=0x100c@) / BR_MIS_PRED", 130*0cc177cfSJohn Garry "PublicDescription": "Other branch L3 topdown metric", 131*0cc177cfSJohn Garry "BriefDescription": "Other branch L3 topdown metric", 132*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 133*0cc177cfSJohn Garry "MetricName": "other_branch" 134*0cc177cfSJohn Garry }, 135*0cc177cfSJohn Garry { 136*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x2012@ / armv8_pmuv3_0@event\\=0x2013@", 137*0cc177cfSJohn Garry "PublicDescription": "Nuke flush L3 topdown metric", 138*0cc177cfSJohn Garry "BriefDescription": "Nuke flush L3 topdown metric", 139*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 140*0cc177cfSJohn Garry "MetricName": "nuke_flush" 141*0cc177cfSJohn Garry }, 142*0cc177cfSJohn Garry { 143*0cc177cfSJohn Garry "MetricExpr": "1 - nuke_flush", 144*0cc177cfSJohn Garry "PublicDescription": "Other flush L3 topdown metric", 145*0cc177cfSJohn Garry "BriefDescription": "Other flush L3 topdown metric", 146*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 147*0cc177cfSJohn Garry "MetricName": "other_flush" 148*0cc177cfSJohn Garry }, 149*0cc177cfSJohn Garry { 150*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x2010@ / CPU_CYCLES", 151*0cc177cfSJohn Garry "PublicDescription": "Sync stall L3 topdown metric", 152*0cc177cfSJohn Garry "BriefDescription": "Sync stall L3 topdown metric", 153*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 154*0cc177cfSJohn Garry "MetricName": "sync_stall" 155*0cc177cfSJohn Garry }, 156*0cc177cfSJohn Garry { 157*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x2004@ / CPU_CYCLES", 158*0cc177cfSJohn Garry "PublicDescription": "Rob stall L3 topdown metric", 159*0cc177cfSJohn Garry "BriefDescription": "Rob stall L3 topdown metric", 160*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 161*0cc177cfSJohn Garry "MetricName": "rob_stall" 162*0cc177cfSJohn Garry }, 163*0cc177cfSJohn Garry { 164*0cc177cfSJohn Garry "MetricExpr": "(armv8_pmuv3_0@event\\=0x2006@ + armv8_pmuv3_0@event\\=0x2007@ + armv8_pmuv3_0@event\\=0x2008@) / CPU_CYCLES", 165*0cc177cfSJohn Garry "PublicDescription": "Ptag stall L3 topdown metric", 166*0cc177cfSJohn Garry "BriefDescription": "Ptag stall L3 topdown metric", 167*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 168*0cc177cfSJohn Garry "MetricName": "ptag_stall" 169*0cc177cfSJohn Garry }, 170*0cc177cfSJohn Garry { 171*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x201e@ / CPU_CYCLES", 172*0cc177cfSJohn Garry "PublicDescription": "SaveOpQ stall L3 topdown metric", 173*0cc177cfSJohn Garry "BriefDescription": "SaveOpQ stall L3 topdown metric", 174*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 175*0cc177cfSJohn Garry "MetricName": "saveopq_stall" 176*0cc177cfSJohn Garry }, 177*0cc177cfSJohn Garry { 178*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x2005@ / CPU_CYCLES", 179*0cc177cfSJohn Garry "PublicDescription": "PC buffer stall L3 topdown metric", 180*0cc177cfSJohn Garry "BriefDescription": "PC buffer stall L3 topdown metric", 181*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 182*0cc177cfSJohn Garry "MetricName": "pc_buffer_stall" 183*0cc177cfSJohn Garry }, 184*0cc177cfSJohn Garry { 185*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x7002@ / CPU_CYCLES", 186*0cc177cfSJohn Garry "PublicDescription": "Divider L3 topdown metric", 187*0cc177cfSJohn Garry "BriefDescription": "Divider L3 topdown metric", 188*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 189*0cc177cfSJohn Garry "MetricName": "divider" 190*0cc177cfSJohn Garry }, 191*0cc177cfSJohn Garry { 192*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x7003@ / CPU_CYCLES", 193*0cc177cfSJohn Garry "PublicDescription": "FSU stall L3 topdown metric", 194*0cc177cfSJohn Garry "BriefDescription": "FSU stall L3 topdown metric", 195*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 196*0cc177cfSJohn Garry "MetricName": "fsu_stall" 197*0cc177cfSJohn Garry }, 198*0cc177cfSJohn Garry { 199*0cc177cfSJohn Garry "MetricExpr": "core_bound - divider - fsu_stall", 200*0cc177cfSJohn Garry "PublicDescription": "EXE ports util L3 topdown metric", 201*0cc177cfSJohn Garry "BriefDescription": "EXE ports util L3 topdown metric", 202*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 203*0cc177cfSJohn Garry "MetricName": "exe_ports_util" 204*0cc177cfSJohn Garry }, 205*0cc177cfSJohn Garry { 206*0cc177cfSJohn Garry "MetricExpr": "(MEM_STALL_ANYLOAD - MEM_STALL_L1MISS) / CPU_CYCLES", 207*0cc177cfSJohn Garry "PublicDescription": "L1 bound L3 topdown metric", 208*0cc177cfSJohn Garry "BriefDescription": "L1 bound L3 topdown metric", 209*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 210*0cc177cfSJohn Garry "MetricName": "l1_bound" 211*0cc177cfSJohn Garry }, 212*0cc177cfSJohn Garry { 213*0cc177cfSJohn Garry "MetricExpr": "(MEM_STALL_L1MISS - MEM_STALL_L2MISS) / CPU_CYCLES", 214*0cc177cfSJohn Garry "PublicDescription": "L2 bound L3 topdown metric", 215*0cc177cfSJohn Garry "BriefDescription": "L2 bound L3 topdown metric", 216*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 217*0cc177cfSJohn Garry "MetricName": "l2_bound" 218*0cc177cfSJohn Garry }, 219*0cc177cfSJohn Garry { 220*0cc177cfSJohn Garry "MetricExpr": "MEM_STALL_L2MISS / CPU_CYCLES", 221*0cc177cfSJohn Garry "PublicDescription": "Mem bound L3 topdown metric", 222*0cc177cfSJohn Garry "BriefDescription": "Mem bound L3 topdown metric", 223*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 224*0cc177cfSJohn Garry "MetricName": "mem_bound" 225*0cc177cfSJohn Garry }, 226*0cc177cfSJohn Garry { 227*0cc177cfSJohn Garry "MetricExpr": "armv8_pmuv3_0@event\\=0x7005@ / CPU_CYCLES", 228*0cc177cfSJohn Garry "PublicDescription": "Store bound L3 topdown metric", 229*0cc177cfSJohn Garry "BriefDescription": "Store bound L3 topdown metric", 230*0cc177cfSJohn Garry "MetricGroup": "TopDownL3", 231*0cc177cfSJohn Garry "MetricName": "store_bound" 232*0cc177cfSJohn Garry }, 233c4e1dc4aSJohn Garry] 234