1[ 2 { 3 "MetricExpr": "FETCH_BUBBLE / (4 * CPU_CYCLES)", 4 "PublicDescription": "Frontend bound L1 topdown metric", 5 "BriefDescription": "Frontend bound L1 topdown metric", 6 "DefaultMetricgroupName": "TopdownL1", 7 "MetricGroup": "Default;TopdownL1", 8 "MetricName": "frontend_bound" 9 }, 10 { 11 "MetricExpr": "(INST_SPEC - INST_RETIRED) / (4 * CPU_CYCLES)", 12 "PublicDescription": "Bad Speculation L1 topdown metric", 13 "BriefDescription": "Bad Speculation L1 topdown metric", 14 "DefaultMetricgroupName": "TopdownL1", 15 "MetricGroup": "Default;TopdownL1", 16 "MetricName": "bad_speculation" 17 }, 18 { 19 "MetricExpr": "INST_RETIRED / (CPU_CYCLES * 4)", 20 "PublicDescription": "Retiring L1 topdown metric", 21 "BriefDescription": "Retiring L1 topdown metric", 22 "DefaultMetricgroupName": "TopdownL1", 23 "MetricGroup": "Default;TopdownL1", 24 "MetricName": "retiring" 25 }, 26 { 27 "MetricExpr": "1 - (frontend_bound + bad_speculation + retiring)", 28 "PublicDescription": "Backend Bound L1 topdown metric", 29 "BriefDescription": "Backend Bound L1 topdown metric", 30 "DefaultMetricgroupName": "TopdownL1", 31 "MetricGroup": "Default;TopdownL1", 32 "MetricName": "backend_bound" 33 }, 34 { 35 "MetricExpr": "armv8_pmuv3_0@event\\=0x201d@ / CPU_CYCLES", 36 "PublicDescription": "Fetch latency bound L2 topdown metric", 37 "BriefDescription": "Fetch latency bound L2 topdown metric", 38 "MetricGroup": "TopdownL2", 39 "MetricName": "fetch_latency_bound" 40 }, 41 { 42 "MetricExpr": "frontend_bound - fetch_latency_bound", 43 "PublicDescription": "Fetch bandwidth bound L2 topdown metric", 44 "BriefDescription": "Fetch bandwidth bound L2 topdown metric", 45 "MetricGroup": "TopdownL2", 46 "MetricName": "fetch_bandwidth_bound" 47 }, 48 { 49 "MetricExpr": "(bad_speculation * BR_MIS_PRED) / (BR_MIS_PRED + armv8_pmuv3_0@event\\=0x2013@)", 50 "PublicDescription": "Branch mispredicts L2 topdown metric", 51 "BriefDescription": "Branch mispredicts L2 topdown metric", 52 "MetricGroup": "TopdownL2", 53 "MetricName": "branch_mispredicts" 54 }, 55 { 56 "MetricExpr": "bad_speculation - branch_mispredicts", 57 "PublicDescription": "Machine clears L2 topdown metric", 58 "BriefDescription": "Machine clears L2 topdown metric", 59 "MetricGroup": "TopdownL2", 60 "MetricName": "machine_clears" 61 }, 62 { 63 "MetricExpr": "(EXE_STALL_CYCLE - (MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@)) / CPU_CYCLES", 64 "PublicDescription": "Core bound L2 topdown metric", 65 "BriefDescription": "Core bound L2 topdown metric", 66 "MetricGroup": "TopdownL2", 67 "MetricName": "core_bound" 68 }, 69 { 70 "MetricExpr": "(MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@) / CPU_CYCLES", 71 "PublicDescription": "Memory bound L2 topdown metric", 72 "BriefDescription": "Memory bound L2 topdown metric", 73 "MetricGroup": "TopdownL2", 74 "MetricName": "memory_bound" 75 }, 76 { 77 "MetricExpr": "(((L2I_TLB - L2I_TLB_REFILL) * 15) + (L2I_TLB_REFILL * 100)) / CPU_CYCLES", 78 "PublicDescription": "Idle by itlb miss L3 topdown metric", 79 "BriefDescription": "Idle by itlb miss L3 topdown metric", 80 "MetricGroup": "TopdownL3", 81 "MetricName": "idle_by_itlb_miss" 82 }, 83 { 84 "MetricExpr": "(((L2I_CACHE - L2I_CACHE_REFILL) * 15) + (L2I_CACHE_REFILL * 100)) / CPU_CYCLES", 85 "PublicDescription": "Idle by icache miss L3 topdown metric", 86 "BriefDescription": "Idle by icache miss L3 topdown metric", 87 "MetricGroup": "TopdownL3", 88 "MetricName": "idle_by_icache_miss" 89 }, 90 { 91 "MetricExpr": "(BR_MIS_PRED * 5) / CPU_CYCLES", 92 "PublicDescription": "BP misp flush L3 topdown metric", 93 "BriefDescription": "BP misp flush L3 topdown metric", 94 "MetricGroup": "TopdownL3", 95 "MetricName": "bp_misp_flush" 96 }, 97 { 98 "MetricExpr": "(armv8_pmuv3_0@event\\=0x2013@ * 5) / CPU_CYCLES", 99 "PublicDescription": "OOO flush L3 topdown metric", 100 "BriefDescription": "OOO flush L3 topdown metric", 101 "MetricGroup": "TopdownL3", 102 "MetricName": "ooo_flush" 103 }, 104 { 105 "MetricExpr": "(armv8_pmuv3_0@event\\=0x1001@ * 5) / CPU_CYCLES", 106 "PublicDescription": "Static predictor flush L3 topdown metric", 107 "BriefDescription": "Static predictor flush L3 topdown metric", 108 "MetricGroup": "TopdownL3", 109 "MetricName": "sp_flush" 110 }, 111 { 112 "MetricExpr": "armv8_pmuv3_0@event\\=0x1010@ / BR_MIS_PRED", 113 "PublicDescription": "Indirect branch L3 topdown metric", 114 "BriefDescription": "Indirect branch L3 topdown metric", 115 "MetricGroup": "TopdownL3", 116 "MetricName": "indirect_branch" 117 }, 118 { 119 "MetricExpr": "(armv8_pmuv3_0@event\\=0x1013@ + armv8_pmuv3_0@event\\=0x1016@) / BR_MIS_PRED", 120 "PublicDescription": "Push branch L3 topdown metric", 121 "BriefDescription": "Push branch L3 topdown metric", 122 "MetricGroup": "TopdownL3", 123 "MetricName": "push_branch" 124 }, 125 { 126 "MetricExpr": "armv8_pmuv3_0@event\\=0x100d@ / BR_MIS_PRED", 127 "PublicDescription": "Pop branch L3 topdown metric", 128 "BriefDescription": "Pop branch L3 topdown metric", 129 "MetricGroup": "TopdownL3", 130 "MetricName": "pop_branch" 131 }, 132 { 133 "MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1013@ - armv8_pmuv3_0@event\\=0x1016@ - armv8_pmuv3_0@event\\=0x100d@) / BR_MIS_PRED", 134 "PublicDescription": "Other branch L3 topdown metric", 135 "BriefDescription": "Other branch L3 topdown metric", 136 "MetricGroup": "TopdownL3", 137 "MetricName": "other_branch" 138 }, 139 { 140 "MetricExpr": "armv8_pmuv3_0@event\\=0x2012@ / armv8_pmuv3_0@event\\=0x2013@", 141 "PublicDescription": "Nuke flush L3 topdown metric", 142 "BriefDescription": "Nuke flush L3 topdown metric", 143 "MetricGroup": "TopdownL3", 144 "MetricName": "nuke_flush" 145 }, 146 { 147 "MetricExpr": "1 - nuke_flush", 148 "PublicDescription": "Other flush L3 topdown metric", 149 "BriefDescription": "Other flush L3 topdown metric", 150 "MetricGroup": "TopdownL3", 151 "MetricName": "other_flush" 152 }, 153 { 154 "MetricExpr": "armv8_pmuv3_0@event\\=0x2010@ / CPU_CYCLES", 155 "PublicDescription": "Sync stall L3 topdown metric", 156 "BriefDescription": "Sync stall L3 topdown metric", 157 "MetricGroup": "TopdownL3", 158 "MetricName": "sync_stall" 159 }, 160 { 161 "MetricExpr": "armv8_pmuv3_0@event\\=0x2004@ / CPU_CYCLES", 162 "PublicDescription": "Rob stall L3 topdown metric", 163 "BriefDescription": "Rob stall L3 topdown metric", 164 "MetricGroup": "TopdownL3", 165 "MetricName": "rob_stall" 166 }, 167 { 168 "MetricExpr": "(armv8_pmuv3_0@event\\=0x2006@ + armv8_pmuv3_0@event\\=0x2007@ + armv8_pmuv3_0@event\\=0x2008@) / CPU_CYCLES", 169 "PublicDescription": "Ptag stall L3 topdown metric", 170 "BriefDescription": "Ptag stall L3 topdown metric", 171 "MetricGroup": "TopdownL3", 172 "MetricName": "ptag_stall" 173 }, 174 { 175 "MetricExpr": "armv8_pmuv3_0@event\\=0x201e@ / CPU_CYCLES", 176 "PublicDescription": "SaveOpQ stall L3 topdown metric", 177 "BriefDescription": "SaveOpQ stall L3 topdown metric", 178 "MetricGroup": "TopdownL3", 179 "MetricName": "saveopq_stall" 180 }, 181 { 182 "MetricExpr": "armv8_pmuv3_0@event\\=0x2005@ / CPU_CYCLES", 183 "PublicDescription": "PC buffer stall L3 topdown metric", 184 "BriefDescription": "PC buffer stall L3 topdown metric", 185 "MetricGroup": "TopdownL3", 186 "MetricName": "pc_buffer_stall" 187 }, 188 { 189 "MetricExpr": "armv8_pmuv3_0@event\\=0x7002@ / CPU_CYCLES", 190 "PublicDescription": "Divider L3 topdown metric", 191 "BriefDescription": "Divider L3 topdown metric", 192 "MetricGroup": "TopdownL3", 193 "MetricName": "divider" 194 }, 195 { 196 "MetricExpr": "armv8_pmuv3_0@event\\=0x7003@ / CPU_CYCLES", 197 "PublicDescription": "FSU stall L3 topdown metric", 198 "BriefDescription": "FSU stall L3 topdown metric", 199 "MetricGroup": "TopdownL3", 200 "MetricName": "fsu_stall" 201 }, 202 { 203 "MetricExpr": "core_bound - divider - fsu_stall", 204 "PublicDescription": "EXE ports util L3 topdown metric", 205 "BriefDescription": "EXE ports util L3 topdown metric", 206 "MetricGroup": "TopdownL3", 207 "MetricName": "exe_ports_util" 208 }, 209 { 210 "MetricExpr": "(MEM_STALL_ANYLOAD - MEM_STALL_L1MISS) / CPU_CYCLES", 211 "PublicDescription": "L1 bound L3 topdown metric", 212 "BriefDescription": "L1 bound L3 topdown metric", 213 "MetricGroup": "TopdownL3", 214 "MetricName": "l1_bound" 215 }, 216 { 217 "MetricExpr": "(MEM_STALL_L1MISS - MEM_STALL_L2MISS) / CPU_CYCLES", 218 "PublicDescription": "L2 bound L3 topdown metric", 219 "BriefDescription": "L2 bound L3 topdown metric", 220 "MetricGroup": "TopdownL3", 221 "MetricName": "l2_bound" 222 }, 223 { 224 "MetricExpr": "MEM_STALL_L2MISS / CPU_CYCLES", 225 "PublicDescription": "Mem bound L3 topdown metric", 226 "BriefDescription": "Mem bound L3 topdown metric", 227 "MetricGroup": "TopdownL3", 228 "MetricName": "mem_bound" 229 }, 230 { 231 "MetricExpr": "armv8_pmuv3_0@event\\=0x7005@ / CPU_CYCLES", 232 "PublicDescription": "Store bound L3 topdown metric", 233 "BriefDescription": "Store bound L3 topdown metric", 234 "MetricGroup": "TopdownL3", 235 "MetricName": "store_bound" 236 } 237] 238