15e49f732SAndi Kleen[
25e49f732SAndi Kleen    {
35e49f732SAndi Kleen        "BriefDescription": "Instructions Per Cycle (per logical thread)",
45e49f732SAndi Kleen        "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD",
55e49f732SAndi Kleen        "MetricGroup": "TopDownL1",
65e49f732SAndi Kleen        "MetricName": "IPC"
75e49f732SAndi Kleen    },
85e49f732SAndi Kleen    {
95e49f732SAndi Kleen        "BriefDescription": "Uops Per Instruction",
105e49f732SAndi Kleen        "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY",
115e49f732SAndi Kleen        "MetricGroup": "Pipeline",
125e49f732SAndi Kleen        "MetricName": "UPI"
135e49f732SAndi Kleen    },
145e49f732SAndi Kleen    {
155e49f732SAndi Kleen        "BriefDescription": "Rough Estimation of fraction of fetched lines bytes that were likely consumed by program instructions",
165e49f732SAndi Kleen        "MetricExpr": "min( 1 , IDQ.MITE_UOPS / ( UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 16 * ( ICACHE.HIT + ICACHE.MISSES ) / 4.0 ) )",
175e49f732SAndi Kleen        "MetricGroup": "Frontend",
185e49f732SAndi Kleen        "MetricName": "IFetch_Line_Utilization"
195e49f732SAndi Kleen    },
205e49f732SAndi Kleen    {
215e49f732SAndi Kleen        "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded Icache; or Uop Cache)",
225e49f732SAndi Kleen        "MetricExpr": "IDQ.DSB_UOPS / ( IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS )",
235e49f732SAndi Kleen        "MetricGroup": "DSB; Frontend_Bandwidth",
245e49f732SAndi Kleen        "MetricName": "DSB_Coverage"
255e49f732SAndi Kleen    },
265e49f732SAndi Kleen    {
275e49f732SAndi Kleen        "BriefDescription": "Cycles Per Instruction (threaded)",
285e49f732SAndi Kleen        "MetricExpr": "1 / INST_RETIRED.ANY / cycles",
295e49f732SAndi Kleen        "MetricGroup": "Pipeline;Summary",
305e49f732SAndi Kleen        "MetricName": "CPI"
315e49f732SAndi Kleen    },
325e49f732SAndi Kleen    {
335e49f732SAndi Kleen        "BriefDescription": "Per-thread actual clocks when the logical processor is active. This is called 'Clockticks' in VTune.",
345e49f732SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.THREAD",
355e49f732SAndi Kleen        "MetricGroup": "Summary",
365e49f732SAndi Kleen        "MetricName": "CLKS"
375e49f732SAndi Kleen    },
385e49f732SAndi Kleen    {
395e49f732SAndi Kleen        "BriefDescription": "Total issue-pipeline slots",
405e49f732SAndi Kleen        "MetricExpr": "4*( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles",
415e49f732SAndi Kleen        "MetricGroup": "TopDownL1",
425e49f732SAndi Kleen        "MetricName": "SLOTS"
435e49f732SAndi Kleen    },
445e49f732SAndi Kleen    {
455e49f732SAndi Kleen        "BriefDescription": "Total number of retired Instructions",
465e49f732SAndi Kleen        "MetricExpr": "INST_RETIRED.ANY",
475e49f732SAndi Kleen        "MetricGroup": "Summary",
485e49f732SAndi Kleen        "MetricName": "Instructions"
495e49f732SAndi Kleen    },
505e49f732SAndi Kleen    {
515e49f732SAndi Kleen        "BriefDescription": "Instructions Per Cycle (per physical core)",
525e49f732SAndi Kleen        "MetricExpr": "INST_RETIRED.ANY / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles",
535e49f732SAndi Kleen        "MetricGroup": "SMT",
545e49f732SAndi Kleen        "MetricName": "CoreIPC"
555e49f732SAndi Kleen    },
565e49f732SAndi Kleen    {
575e49f732SAndi Kleen        "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)",
585e49f732SAndi Kleen	"MetricExpr": "( UOPS_EXECUTED.CORE / 2 / ( cpu@uops_executed.core\\,cmask\\=1@ / 2)) if #SMT_on else UOPS_EXECUTED.CORE / cpu@uops_executed.core\\,cmask\\=1@",
595e49f732SAndi Kleen        "MetricGroup": "Pipeline;Ports_Utilization",
605e49f732SAndi Kleen        "MetricName": "ILP"
615e49f732SAndi Kleen    },
625e49f732SAndi Kleen    {
635e49f732SAndi Kleen        "BriefDescription": "Average Branch Address Clear Cost (fraction of cycles)",
645e49f732SAndi Kleen        "MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE.IFDATA_STALL  - ( 14 * ITLB_MISSES.STLB_HIT + ITLB_MISSES.WALK_DURATION ) ) / RS_EVENTS.EMPTY_END",
655e49f732SAndi Kleen        "MetricGroup": "Unknown_Branches",
665e49f732SAndi Kleen        "MetricName": "BAClear_Cost"
675e49f732SAndi Kleen    },
685e49f732SAndi Kleen    {
695e49f732SAndi Kleen        "BriefDescription": "Core actual clocks when any thread is active on the physical core",
705e49f732SAndi Kleen        "MetricExpr": "( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else CPU_CLK_UNHALTED.THREAD",
715e49f732SAndi Kleen        "MetricGroup": "SMT",
725e49f732SAndi Kleen        "MetricName": "CORE_CLKS"
735e49f732SAndi Kleen    },
745e49f732SAndi Kleen    {
755e49f732SAndi Kleen        "BriefDescription": "Actual Average Latency for L1 data-cache miss demand loads",
765e49f732SAndi Kleen        "MetricExpr": "L1D_PEND_MISS.PENDING / ( MEM_LOAD_UOPS_RETIRED.L1_MISS + mem_load_uops_retired.hit_lfb )",
775e49f732SAndi Kleen        "MetricGroup": "Memory_Bound;Memory_Lat",
785e49f732SAndi Kleen        "MetricName": "Load_Miss_Real_Latency"
795e49f732SAndi Kleen    },
805e49f732SAndi Kleen    {
815e49f732SAndi Kleen        "BriefDescription": "Memory-Level-Parallelism (average number of L1 miss demand load when there is at least 1 such miss)",
825e49f732SAndi Kleen        "MetricExpr": "L1D_PEND_MISS.PENDING / ( cpu@l1d_pend_miss.pending_cycles\\,any\\=1@ / 2) if #SMT_on else L1D_PEND_MISS.PENDING_CYCLES",
835e49f732SAndi Kleen        "MetricGroup": "Memory_Bound;Memory_BW",
845e49f732SAndi Kleen        "MetricName": "MLP"
855e49f732SAndi Kleen    },
865e49f732SAndi Kleen    {
875e49f732SAndi Kleen        "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses",
885e49f732SAndi Kleen        "MetricExpr": "( ITLB_MISSES.WALK_DURATION + DTLB_LOAD_MISSES.WALK_DURATION + DTLB_STORE_MISSES.WALK_DURATION ) / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles",
895e49f732SAndi Kleen        "MetricGroup": "TLB",
905e49f732SAndi Kleen        "MetricName": "Page_Walks_Utilization"
915e49f732SAndi Kleen    },
925e49f732SAndi Kleen    {
935e49f732SAndi Kleen        "BriefDescription": "Average CPU Utilization",
945e49f732SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@",
955e49f732SAndi Kleen        "MetricGroup": "Summary",
965e49f732SAndi Kleen        "MetricName": "CPU_Utilization"
975e49f732SAndi Kleen    },
985e49f732SAndi Kleen    {
995e49f732SAndi Kleen        "BriefDescription": "Average Frequency Utilization relative nominal frequency",
1005e49f732SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC",
1015e49f732SAndi Kleen        "MetricGroup": "Power",
1025e49f732SAndi Kleen        "MetricName": "Turbo_Utilization"
1035e49f732SAndi Kleen    },
1045e49f732SAndi Kleen    {
1055e49f732SAndi Kleen        "BriefDescription": "Fraction of cycles where both hardware threads were active",
1065e49f732SAndi Kleen        "MetricExpr": "1 - CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE / ( CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY / 2 ) if #SMT_on else 0",
1075e49f732SAndi Kleen        "MetricGroup": "SMT;Summary",
1085e49f732SAndi Kleen        "MetricName": "SMT_2T_Utilization"
1095e49f732SAndi Kleen    },
1105e49f732SAndi Kleen    {
1115e49f732SAndi Kleen        "BriefDescription": "Fraction of cycles spent in Kernel mode",
1125e49f732SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC:u / CPU_CLK_UNHALTED.REF_TSC",
1135e49f732SAndi Kleen        "MetricGroup": "Summary",
1145e49f732SAndi Kleen        "MetricName": "Kernel_Utilization"
1155e49f732SAndi Kleen    },
1165e49f732SAndi Kleen    {
1175e49f732SAndi Kleen        "BriefDescription": "C3 residency percent per core",
1185e49f732SAndi Kleen        "MetricExpr": "(cstate_core@c3\\-residency@ / msr@tsc@) * 100",
1195e49f732SAndi Kleen        "MetricGroup": "Power",
1205e49f732SAndi Kleen        "MetricName": "C3_Core_Residency"
1215e49f732SAndi Kleen    },
1225e49f732SAndi Kleen    {
1235e49f732SAndi Kleen        "BriefDescription": "C6 residency percent per core",
1245e49f732SAndi Kleen        "MetricExpr": "(cstate_core@c6\\-residency@ / msr@tsc@) * 100",
1255e49f732SAndi Kleen        "MetricGroup": "Power",
1265e49f732SAndi Kleen        "MetricName": "C6_Core_Residency"
1275e49f732SAndi Kleen    },
1285e49f732SAndi Kleen    {
1295e49f732SAndi Kleen        "BriefDescription": "C7 residency percent per core",
1305e49f732SAndi Kleen        "MetricExpr": "(cstate_core@c7\\-residency@ / msr@tsc@) * 100",
1315e49f732SAndi Kleen        "MetricGroup": "Power",
1325e49f732SAndi Kleen        "MetricName": "C7_Core_Residency"
1335e49f732SAndi Kleen    },
1345e49f732SAndi Kleen    {
1355e49f732SAndi Kleen        "BriefDescription": "C2 residency percent per package",
1365e49f732SAndi Kleen        "MetricExpr": "(cstate_pkg@c2\\-residency@ / msr@tsc@) * 100",
1375e49f732SAndi Kleen        "MetricGroup": "Power",
1385e49f732SAndi Kleen        "MetricName": "C2_Pkg_Residency"
1395e49f732SAndi Kleen    },
1405e49f732SAndi Kleen    {
1415e49f732SAndi Kleen        "BriefDescription": "C3 residency percent per package",
1425e49f732SAndi Kleen        "MetricExpr": "(cstate_pkg@c3\\-residency@ / msr@tsc@) * 100",
1435e49f732SAndi Kleen        "MetricGroup": "Power",
1445e49f732SAndi Kleen        "MetricName": "C3_Pkg_Residency"
1455e49f732SAndi Kleen    },
1465e49f732SAndi Kleen    {
1475e49f732SAndi Kleen        "BriefDescription": "C6 residency percent per package",
1485e49f732SAndi Kleen        "MetricExpr": "(cstate_pkg@c6\\-residency@ / msr@tsc@) * 100",
1495e49f732SAndi Kleen        "MetricGroup": "Power",
1505e49f732SAndi Kleen        "MetricName": "C6_Pkg_Residency"
1515e49f732SAndi Kleen    },
1525e49f732SAndi Kleen    {
1535e49f732SAndi Kleen        "BriefDescription": "C7 residency percent per package",
1545e49f732SAndi Kleen        "MetricExpr": "(cstate_pkg@c7\\-residency@ / msr@tsc@) * 100",
1555e49f732SAndi Kleen        "MetricGroup": "Power",
1565e49f732SAndi Kleen        "MetricName": "C7_Pkg_Residency"
1575e49f732SAndi Kleen    }
1585e49f732SAndi Kleen]
159