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",
6*f9625140SKan Liang        "DefaultMetricgroupName": "TopDownL1",
7*f9625140SKan Liang        "MetricGroup": "Default;TopDownL1",
8c4e1dc4aSJohn Garry        "MetricName": "frontend_bound"
9c4e1dc4aSJohn Garry    },
10c4e1dc4aSJohn Garry    {
11c4e1dc4aSJohn Garry        "MetricExpr": "(INST_SPEC - INST_RETIRED) / (4 * CPU_CYCLES)",
12c4e1dc4aSJohn Garry        "PublicDescription": "Bad Speculation L1 topdown metric",
13c4e1dc4aSJohn Garry        "BriefDescription": "Bad Speculation L1 topdown metric",
14*f9625140SKan Liang        "DefaultMetricgroupName": "TopDownL1",
15*f9625140SKan Liang        "MetricGroup": "Default;TopDownL1",
16c4e1dc4aSJohn Garry        "MetricName": "bad_speculation"
17c4e1dc4aSJohn Garry    },
18c4e1dc4aSJohn Garry    {
19c4e1dc4aSJohn Garry        "MetricExpr": "INST_RETIRED / (CPU_CYCLES * 4)",
20c4e1dc4aSJohn Garry        "PublicDescription": "Retiring L1 topdown metric",
21c4e1dc4aSJohn Garry        "BriefDescription": "Retiring L1 topdown metric",
22*f9625140SKan Liang        "DefaultMetricgroupName": "TopDownL1",
23*f9625140SKan Liang        "MetricGroup": "Default;TopDownL1",
24c4e1dc4aSJohn Garry        "MetricName": "retiring"
25c4e1dc4aSJohn Garry    },
26c4e1dc4aSJohn Garry    {
27c4e1dc4aSJohn Garry        "MetricExpr": "1 - (frontend_bound + bad_speculation + retiring)",
28c4e1dc4aSJohn Garry        "PublicDescription": "Backend Bound L1 topdown metric",
29c4e1dc4aSJohn Garry        "BriefDescription": "Backend Bound L1 topdown metric",
30*f9625140SKan Liang        "DefaultMetricgroupName": "TopDownL1",
31*f9625140SKan Liang        "MetricGroup": "Default;TopDownL1",
32c4e1dc4aSJohn Garry        "MetricName": "backend_bound"
33c4e1dc4aSJohn Garry    },
3403837173SJohn Garry    {
3503837173SJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x201d@ / CPU_CYCLES",
3603837173SJohn Garry        "PublicDescription": "Fetch latency bound L2 topdown metric",
3703837173SJohn Garry        "BriefDescription": "Fetch latency bound L2 topdown metric",
3803837173SJohn Garry        "MetricGroup": "TopDownL2",
3903837173SJohn Garry        "MetricName": "fetch_latency_bound"
4003837173SJohn Garry    },
4103837173SJohn Garry    {
4203837173SJohn Garry        "MetricExpr": "frontend_bound - fetch_latency_bound",
4303837173SJohn Garry        "PublicDescription": "Fetch bandwidth bound L2 topdown metric",
4403837173SJohn Garry        "BriefDescription": "Fetch bandwidth bound L2 topdown metric",
4503837173SJohn Garry        "MetricGroup": "TopDownL2",
4603837173SJohn Garry        "MetricName": "fetch_bandwidth_bound"
4703837173SJohn Garry    },
4803837173SJohn Garry    {
4903837173SJohn Garry        "MetricExpr": "(bad_speculation * BR_MIS_PRED) / (BR_MIS_PRED + armv8_pmuv3_0@event\\=0x2013@)",
5003837173SJohn Garry        "PublicDescription": "Branch mispredicts L2 topdown metric",
5103837173SJohn Garry        "BriefDescription": "Branch mispredicts L2 topdown metric",
5203837173SJohn Garry        "MetricGroup": "TopDownL2",
5303837173SJohn Garry        "MetricName": "branch_mispredicts"
5403837173SJohn Garry    },
5503837173SJohn Garry    {
5603837173SJohn Garry        "MetricExpr": "bad_speculation - branch_mispredicts",
5703837173SJohn Garry        "PublicDescription": "Machine clears L2 topdown metric",
5803837173SJohn Garry        "BriefDescription": "Machine clears L2 topdown metric",
5903837173SJohn Garry        "MetricGroup": "TopDownL2",
6003837173SJohn Garry        "MetricName": "machine_clears"
6103837173SJohn Garry    },
6203837173SJohn Garry    {
6303837173SJohn Garry        "MetricExpr": "(EXE_STALL_CYCLE - (MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@)) / CPU_CYCLES",
6403837173SJohn Garry        "PublicDescription": "Core bound L2 topdown metric",
6503837173SJohn Garry        "BriefDescription": "Core bound L2 topdown metric",
6603837173SJohn Garry        "MetricGroup": "TopDownL2",
6703837173SJohn Garry        "MetricName": "core_bound"
6803837173SJohn Garry    },
6903837173SJohn Garry    {
7003837173SJohn Garry        "MetricExpr": "(MEM_STALL_ANYLOAD + armv8_pmuv3_0@event\\=0x7005@) / CPU_CYCLES",
7103837173SJohn Garry        "PublicDescription": "Memory bound L2 topdown metric",
7203837173SJohn Garry        "BriefDescription": "Memory bound L2 topdown metric",
7303837173SJohn Garry        "MetricGroup": "TopDownL2",
7403837173SJohn Garry        "MetricName": "memory_bound"
7503837173SJohn Garry    },
760cc177cfSJohn Garry    {
770cc177cfSJohn Garry        "MetricExpr": "(((L2I_TLB - L2I_TLB_REFILL) * 15) + (L2I_TLB_REFILL * 100)) / CPU_CYCLES",
780cc177cfSJohn Garry        "PublicDescription": "Idle by itlb miss L3 topdown metric",
790cc177cfSJohn Garry        "BriefDescription": "Idle by itlb miss L3 topdown metric",
800cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
810cc177cfSJohn Garry        "MetricName": "idle_by_itlb_miss"
820cc177cfSJohn Garry    },
830cc177cfSJohn Garry    {
840cc177cfSJohn Garry        "MetricExpr": "(((L2I_CACHE - L2I_CACHE_REFILL) * 15) + (L2I_CACHE_REFILL * 100)) / CPU_CYCLES",
850cc177cfSJohn Garry        "PublicDescription": "Idle by icache miss L3 topdown metric",
860cc177cfSJohn Garry        "BriefDescription": "Idle by icache miss L3 topdown metric",
870cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
880cc177cfSJohn Garry        "MetricName": "idle_by_icache_miss"
890cc177cfSJohn Garry    },
900cc177cfSJohn Garry    {
910cc177cfSJohn Garry        "MetricExpr": "(BR_MIS_PRED * 5) / CPU_CYCLES",
920cc177cfSJohn Garry        "PublicDescription": "BP misp flush L3 topdown metric",
930cc177cfSJohn Garry        "BriefDescription": "BP misp flush L3 topdown metric",
940cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
950cc177cfSJohn Garry        "MetricName": "bp_misp_flush"
960cc177cfSJohn Garry    },
970cc177cfSJohn Garry    {
980cc177cfSJohn Garry        "MetricExpr": "(armv8_pmuv3_0@event\\=0x2013@ * 5) / CPU_CYCLES",
990cc177cfSJohn Garry        "PublicDescription": "OOO flush L3 topdown metric",
1000cc177cfSJohn Garry        "BriefDescription": "OOO flush L3 topdown metric",
1010cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1020cc177cfSJohn Garry        "MetricName": "ooo_flush"
1030cc177cfSJohn Garry    },
1040cc177cfSJohn Garry    {
1050cc177cfSJohn Garry        "MetricExpr": "(armv8_pmuv3_0@event\\=0x1001@ * 5) / CPU_CYCLES",
1060cc177cfSJohn Garry        "PublicDescription": "Static predictor flush L3 topdown metric",
1070cc177cfSJohn Garry        "BriefDescription": "Static predictor flush L3 topdown metric",
1080cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1090cc177cfSJohn Garry        "MetricName": "sp_flush"
1100cc177cfSJohn Garry    },
1110cc177cfSJohn Garry    {
1120cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x1010@ / BR_MIS_PRED",
1130cc177cfSJohn Garry        "PublicDescription": "Indirect branch L3 topdown metric",
1140cc177cfSJohn Garry        "BriefDescription": "Indirect branch L3 topdown metric",
1150cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1160cc177cfSJohn Garry        "MetricName": "indirect_branch"
1170cc177cfSJohn Garry    },
1180cc177cfSJohn Garry    {
119e9229d5bSShang XiaoJing        "MetricExpr": "(armv8_pmuv3_0@event\\=0x1013@ + armv8_pmuv3_0@event\\=0x1016@) / BR_MIS_PRED",
1200cc177cfSJohn Garry        "PublicDescription": "Push branch L3 topdown metric",
1210cc177cfSJohn Garry        "BriefDescription": "Push branch L3 topdown metric",
1220cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1230cc177cfSJohn Garry        "MetricName": "push_branch"
1240cc177cfSJohn Garry    },
1250cc177cfSJohn Garry    {
126e9229d5bSShang XiaoJing        "MetricExpr": "armv8_pmuv3_0@event\\=0x100d@ / BR_MIS_PRED",
1270cc177cfSJohn Garry        "PublicDescription": "Pop branch L3 topdown metric",
1280cc177cfSJohn Garry        "BriefDescription": "Pop branch L3 topdown metric",
1290cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1300cc177cfSJohn Garry        "MetricName": "pop_branch"
1310cc177cfSJohn Garry    },
1320cc177cfSJohn Garry    {
133e9229d5bSShang XiaoJing        "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",
1340cc177cfSJohn Garry        "PublicDescription": "Other branch L3 topdown metric",
1350cc177cfSJohn Garry        "BriefDescription": "Other branch L3 topdown metric",
1360cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1370cc177cfSJohn Garry        "MetricName": "other_branch"
1380cc177cfSJohn Garry    },
1390cc177cfSJohn Garry    {
1400cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x2012@ / armv8_pmuv3_0@event\\=0x2013@",
1410cc177cfSJohn Garry        "PublicDescription": "Nuke flush L3 topdown metric",
1420cc177cfSJohn Garry        "BriefDescription": "Nuke flush L3 topdown metric",
1430cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1440cc177cfSJohn Garry        "MetricName": "nuke_flush"
1450cc177cfSJohn Garry    },
1460cc177cfSJohn Garry    {
1470cc177cfSJohn Garry        "MetricExpr": "1 - nuke_flush",
1480cc177cfSJohn Garry        "PublicDescription": "Other flush L3 topdown metric",
1490cc177cfSJohn Garry        "BriefDescription": "Other flush L3 topdown metric",
1500cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1510cc177cfSJohn Garry        "MetricName": "other_flush"
1520cc177cfSJohn Garry    },
1530cc177cfSJohn Garry    {
1540cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x2010@ / CPU_CYCLES",
1550cc177cfSJohn Garry        "PublicDescription": "Sync stall L3 topdown metric",
1560cc177cfSJohn Garry        "BriefDescription": "Sync stall L3 topdown metric",
1570cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1580cc177cfSJohn Garry        "MetricName": "sync_stall"
1590cc177cfSJohn Garry    },
1600cc177cfSJohn Garry    {
1610cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x2004@ / CPU_CYCLES",
1620cc177cfSJohn Garry        "PublicDescription": "Rob stall L3 topdown metric",
1630cc177cfSJohn Garry        "BriefDescription": "Rob stall L3 topdown metric",
1640cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1650cc177cfSJohn Garry        "MetricName": "rob_stall"
1660cc177cfSJohn Garry    },
1670cc177cfSJohn Garry    {
1680cc177cfSJohn Garry        "MetricExpr": "(armv8_pmuv3_0@event\\=0x2006@ + armv8_pmuv3_0@event\\=0x2007@ + armv8_pmuv3_0@event\\=0x2008@) / CPU_CYCLES",
1690cc177cfSJohn Garry        "PublicDescription": "Ptag stall L3 topdown metric",
1700cc177cfSJohn Garry        "BriefDescription": "Ptag stall L3 topdown metric",
1710cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1720cc177cfSJohn Garry        "MetricName": "ptag_stall"
1730cc177cfSJohn Garry    },
1740cc177cfSJohn Garry    {
1750cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x201e@ / CPU_CYCLES",
1760cc177cfSJohn Garry        "PublicDescription": "SaveOpQ stall L3 topdown metric",
1770cc177cfSJohn Garry        "BriefDescription": "SaveOpQ stall L3 topdown metric",
1780cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1790cc177cfSJohn Garry        "MetricName": "saveopq_stall"
1800cc177cfSJohn Garry    },
1810cc177cfSJohn Garry    {
1820cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x2005@ / CPU_CYCLES",
1830cc177cfSJohn Garry        "PublicDescription": "PC buffer stall L3 topdown metric",
1840cc177cfSJohn Garry        "BriefDescription": "PC buffer stall L3 topdown metric",
1850cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1860cc177cfSJohn Garry        "MetricName": "pc_buffer_stall"
1870cc177cfSJohn Garry    },
1880cc177cfSJohn Garry    {
1890cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x7002@ / CPU_CYCLES",
1900cc177cfSJohn Garry        "PublicDescription": "Divider L3 topdown metric",
1910cc177cfSJohn Garry        "BriefDescription": "Divider L3 topdown metric",
1920cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
1930cc177cfSJohn Garry        "MetricName": "divider"
1940cc177cfSJohn Garry    },
1950cc177cfSJohn Garry    {
1960cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x7003@ / CPU_CYCLES",
1970cc177cfSJohn Garry        "PublicDescription": "FSU stall L3 topdown metric",
1980cc177cfSJohn Garry        "BriefDescription": "FSU stall L3 topdown metric",
1990cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
2000cc177cfSJohn Garry        "MetricName": "fsu_stall"
2010cc177cfSJohn Garry    },
2020cc177cfSJohn Garry    {
2030cc177cfSJohn Garry        "MetricExpr": "core_bound - divider - fsu_stall",
2040cc177cfSJohn Garry        "PublicDescription": "EXE ports util L3 topdown metric",
2050cc177cfSJohn Garry        "BriefDescription": "EXE ports util L3 topdown metric",
2060cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
2070cc177cfSJohn Garry        "MetricName": "exe_ports_util"
2080cc177cfSJohn Garry    },
2090cc177cfSJohn Garry    {
2100cc177cfSJohn Garry        "MetricExpr": "(MEM_STALL_ANYLOAD - MEM_STALL_L1MISS) / CPU_CYCLES",
2110cc177cfSJohn Garry        "PublicDescription": "L1 bound L3 topdown metric",
2120cc177cfSJohn Garry        "BriefDescription": "L1 bound L3 topdown metric",
2130cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
2140cc177cfSJohn Garry        "MetricName": "l1_bound"
2150cc177cfSJohn Garry    },
2160cc177cfSJohn Garry    {
2170cc177cfSJohn Garry        "MetricExpr": "(MEM_STALL_L1MISS - MEM_STALL_L2MISS) / CPU_CYCLES",
2180cc177cfSJohn Garry        "PublicDescription": "L2 bound L3 topdown metric",
2190cc177cfSJohn Garry        "BriefDescription": "L2 bound L3 topdown metric",
2200cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
2210cc177cfSJohn Garry        "MetricName": "l2_bound"
2220cc177cfSJohn Garry    },
2230cc177cfSJohn Garry    {
2240cc177cfSJohn Garry        "MetricExpr": "MEM_STALL_L2MISS / CPU_CYCLES",
2250cc177cfSJohn Garry        "PublicDescription": "Mem bound L3 topdown metric",
2260cc177cfSJohn Garry        "BriefDescription": "Mem bound L3 topdown metric",
2270cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
2280cc177cfSJohn Garry        "MetricName": "mem_bound"
2290cc177cfSJohn Garry    },
2300cc177cfSJohn Garry    {
2310cc177cfSJohn Garry        "MetricExpr": "armv8_pmuv3_0@event\\=0x7005@ / CPU_CYCLES",
2320cc177cfSJohn Garry        "PublicDescription": "Store bound L3 topdown metric",
2330cc177cfSJohn Garry        "BriefDescription": "Store bound L3 topdown metric",
2340cc177cfSJohn Garry        "MetricGroup": "TopDownL3",
2350cc177cfSJohn Garry        "MetricName": "store_bound"
23608f3e087SJames Clark    }
237c4e1dc4aSJohn Garry]
238