xref: /freebsd/lib/libpmc/pmu-events/arch/x86/sandybridge/snb-metrics.json (revision 18054d0220cfc8df9c9568c437bd6fbb59d53c3c)
1959826caSMatt Macy[
2959826caSMatt Macy    {
392b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend",
4*18054d02SAlexander Motin        "MetricExpr": "IDQ_UOPS_NOT_DELIVERED.CORE / (4 * CPU_CLK_UNHALTED.THREAD)",
592b14858SMatt Macy        "MetricGroup": "TopdownL1",
692b14858SMatt Macy        "MetricName": "Frontend_Bound",
7*18054d02SAlexander Motin        "PublicDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Machine_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound."
892b14858SMatt Macy    },
992b14858SMatt Macy    {
1092b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.",
11*18054d02SAlexander Motin        "MetricExpr": "IDQ_UOPS_NOT_DELIVERED.CORE / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))",
1292b14858SMatt Macy        "MetricGroup": "TopdownL1_SMT",
1392b14858SMatt Macy        "MetricName": "Frontend_Bound_SMT",
14*18054d02SAlexander Motin        "PublicDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Machine_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound. SMT version; use when SMT is enabled and measuring per logical CPU."
1592b14858SMatt Macy    },
1692b14858SMatt Macy    {
1792b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots wasted due to incorrect speculations",
18*18054d02SAlexander Motin        "MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4 * CPU_CLK_UNHALTED.THREAD)",
1992b14858SMatt Macy        "MetricGroup": "TopdownL1",
2092b14858SMatt Macy        "MetricName": "Bad_Speculation",
2192b14858SMatt Macy        "PublicDescription": "This category represents fraction of slots wasted due to incorrect speculations. This include slots used to issue uops that do not eventually get retired and slots for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work due to miss-predicted branches are categorized under Bad Speculation category. Incorrect data speculation followed by Memory Ordering Nukes is another example."
2292b14858SMatt Macy    },
2392b14858SMatt Macy    {
2492b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots wasted due to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.",
25*18054d02SAlexander Motin        "MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * ( INT_MISC.RECOVERY_CYCLES_ANY / 2 ) ) / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))",
2692b14858SMatt Macy        "MetricGroup": "TopdownL1_SMT",
2792b14858SMatt Macy        "MetricName": "Bad_Speculation_SMT",
2892b14858SMatt Macy        "PublicDescription": "This category represents fraction of slots wasted due to incorrect speculations. This include slots used to issue uops that do not eventually get retired and slots for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work due to miss-predicted branches are categorized under Bad Speculation category. Incorrect data speculation followed by Memory Ordering Nukes is another example. SMT version; use when SMT is enabled and measuring per logical CPU."
2992b14858SMatt Macy    },
3092b14858SMatt Macy    {
3192b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend",
32*18054d02SAlexander Motin        "MetricConstraint": "NO_NMI_WATCHDOG",
33*18054d02SAlexander Motin        "MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * CPU_CLK_UNHALTED.THREAD)) + (( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4 * CPU_CLK_UNHALTED.THREAD)) + (UOPS_RETIRED.RETIRE_SLOTS / (4 * CPU_CLK_UNHALTED.THREAD)) )",
3492b14858SMatt Macy        "MetricGroup": "TopdownL1",
3592b14858SMatt Macy        "MetricName": "Backend_Bound",
3692b14858SMatt Macy        "PublicDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend. Backend is the portion of the processor core where the out-of-order scheduler dispatches ready uops into their respective execution units; and once completed these uops get retired according to program order. For example; stalls due to data-cache misses or stalls due to the divider unit being overloaded are both categorized under Backend Bound. Backend Bound is further divided into two main categories: Memory Bound and Core Bound."
3792b14858SMatt Macy    },
3892b14858SMatt Macy    {
3992b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend. SMT version; use when SMT is enabled and measuring per logical CPU.",
40*18054d02SAlexander Motin        "MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) + (( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * ( INT_MISC.RECOVERY_CYCLES_ANY / 2 ) ) / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) + (UOPS_RETIRED.RETIRE_SLOTS / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) )",
4192b14858SMatt Macy        "MetricGroup": "TopdownL1_SMT",
4292b14858SMatt Macy        "MetricName": "Backend_Bound_SMT",
4392b14858SMatt Macy        "PublicDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend. Backend is the portion of the processor core where the out-of-order scheduler dispatches ready uops into their respective execution units; and once completed these uops get retired according to program order. For example; stalls due to data-cache misses or stalls due to the divider unit being overloaded are both categorized under Backend Bound. Backend Bound is further divided into two main categories: Memory Bound and Core Bound. SMT version; use when SMT is enabled and measuring per logical CPU."
4492b14858SMatt Macy    },
4592b14858SMatt Macy    {
4692b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired",
47*18054d02SAlexander Motin        "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / (4 * CPU_CLK_UNHALTED.THREAD)",
4892b14858SMatt Macy        "MetricGroup": "TopdownL1",
4992b14858SMatt Macy        "MetricName": "Retiring",
50*18054d02SAlexander Motin        "PublicDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. Ideally; all pipeline slots would be attributed to the Retiring category.  Retiring of 100% would indicate the maximum Pipeline_Width throughput was achieved.  Maximizing Retiring typically increases the Instructions-per-cycle (see IPC metric). Note that a high Retiring value does not necessary mean there is no room for more performance.  For example; Heavy-operations or Microcode Assists are categorized under Retiring. They often indicate suboptimal performance and can often be optimized or avoided. "
5192b14858SMatt Macy    },
5292b14858SMatt Macy    {
5392b14858SMatt Macy        "BriefDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. SMT version; use when SMT is enabled and measuring per logical CPU.",
54*18054d02SAlexander Motin        "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))",
5592b14858SMatt Macy        "MetricGroup": "TopdownL1_SMT",
5692b14858SMatt Macy        "MetricName": "Retiring_SMT",
57*18054d02SAlexander Motin        "PublicDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. Ideally; all pipeline slots would be attributed to the Retiring category.  Retiring of 100% would indicate the maximum Pipeline_Width throughput was achieved.  Maximizing Retiring typically increases the Instructions-per-cycle (see IPC metric). Note that a high Retiring value does not necessary mean there is no room for more performance.  For example; Heavy-operations or Microcode Assists are categorized under Retiring. They often indicate suboptimal performance and can often be optimized or avoided. SMT version; use when SMT is enabled and measuring per logical CPU."
5892b14858SMatt Macy    },
5992b14858SMatt Macy    {
6092b14858SMatt Macy        "BriefDescription": "Instructions Per Cycle (per Logical Processor)",
61959826caSMatt Macy        "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD",
62*18054d02SAlexander Motin        "MetricGroup": "Ret;Summary",
63959826caSMatt Macy        "MetricName": "IPC"
64959826caSMatt Macy    },
65959826caSMatt Macy    {
66959826caSMatt Macy        "BriefDescription": "Uops Per Instruction",
67959826caSMatt Macy        "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY",
68*18054d02SAlexander Motin        "MetricGroup": "Pipeline;Ret;Retire",
69959826caSMatt Macy        "MetricName": "UPI"
70959826caSMatt Macy    },
71959826caSMatt Macy    {
7292b14858SMatt Macy        "BriefDescription": "Cycles Per Instruction (per Logical Processor)",
73*18054d02SAlexander Motin        "MetricExpr": "1 / (INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD)",
74*18054d02SAlexander Motin        "MetricGroup": "Pipeline;Mem",
75959826caSMatt Macy        "MetricName": "CPI"
76959826caSMatt Macy    },
77959826caSMatt Macy    {
7892b14858SMatt Macy        "BriefDescription": "Per-Logical Processor actual clocks when the Logical Processor is active.",
79959826caSMatt Macy        "MetricExpr": "CPU_CLK_UNHALTED.THREAD",
80*18054d02SAlexander Motin        "MetricGroup": "Pipeline",
81959826caSMatt Macy        "MetricName": "CLKS"
82959826caSMatt Macy    },
83959826caSMatt Macy    {
84*18054d02SAlexander Motin        "BriefDescription": "Total issue-pipeline slots (per-Physical Core till ICL; per-Logical Processor ICL onward)",
85*18054d02SAlexander Motin        "MetricExpr": "4 * CPU_CLK_UNHALTED.THREAD",
86*18054d02SAlexander Motin        "MetricGroup": "TmaL1",
87959826caSMatt Macy        "MetricName": "SLOTS"
88959826caSMatt Macy    },
89959826caSMatt Macy    {
90*18054d02SAlexander Motin        "BriefDescription": "Total issue-pipeline slots (per-Physical Core till ICL; per-Logical Processor ICL onward)",
91*18054d02SAlexander Motin        "MetricExpr": "4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )",
92*18054d02SAlexander Motin        "MetricGroup": "TmaL1_SMT",
9392b14858SMatt Macy        "MetricName": "SLOTS_SMT"
9492b14858SMatt Macy    },
9592b14858SMatt Macy    {
96*18054d02SAlexander Motin        "BriefDescription": "The ratio of Executed- by Issued-Uops",
97*18054d02SAlexander Motin        "MetricExpr": "UOPS_DISPATCHED.THREAD / UOPS_ISSUED.ANY",
98*18054d02SAlexander Motin        "MetricGroup": "Cor;Pipeline",
99*18054d02SAlexander Motin        "MetricName": "Execute_per_Issue",
100*18054d02SAlexander Motin        "PublicDescription": "The ratio of Executed- by Issued-Uops. Ratio > 1 suggests high rate of uop micro-fusions. Ratio < 1 suggest high rate of \"execute\" at rename stage."
101959826caSMatt Macy    },
102959826caSMatt Macy    {
103*18054d02SAlexander Motin        "BriefDescription": "Instructions Per Cycle across hyper-threads (per physical core)",
104*18054d02SAlexander Motin        "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD",
105*18054d02SAlexander Motin        "MetricGroup": "Ret;SMT;TmaL1",
106959826caSMatt Macy        "MetricName": "CoreIPC"
107959826caSMatt Macy    },
108959826caSMatt Macy    {
109*18054d02SAlexander Motin        "BriefDescription": "Instructions Per Cycle across hyper-threads (per physical core)",
110*18054d02SAlexander Motin        "MetricExpr": "INST_RETIRED.ANY / ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )",
111*18054d02SAlexander Motin        "MetricGroup": "Ret;SMT;TmaL1_SMT",
11292b14858SMatt Macy        "MetricName": "CoreIPC_SMT"
11392b14858SMatt Macy    },
11492b14858SMatt Macy    {
11592b14858SMatt Macy        "BriefDescription": "Floating Point Operations Per Cycle",
116*18054d02SAlexander Motin        "MetricExpr": "( 1 * ( FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE ) + 2 * FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE + 4 * ( FP_COMP_OPS_EXE.SSE_PACKED_SINGLE + SIMD_FP_256.PACKED_DOUBLE ) + 8 * SIMD_FP_256.PACKED_SINGLE ) / CPU_CLK_UNHALTED.THREAD",
117*18054d02SAlexander Motin        "MetricGroup": "Ret;Flops",
11892b14858SMatt Macy        "MetricName": "FLOPc"
11992b14858SMatt Macy    },
12092b14858SMatt Macy    {
12192b14858SMatt Macy        "BriefDescription": "Floating Point Operations Per Cycle",
122*18054d02SAlexander Motin        "MetricExpr": "( 1 * ( FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE ) + 2 * FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE + 4 * ( FP_COMP_OPS_EXE.SSE_PACKED_SINGLE + SIMD_FP_256.PACKED_DOUBLE ) + 8 * SIMD_FP_256.PACKED_SINGLE ) / ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )",
123*18054d02SAlexander Motin        "MetricGroup": "Ret;Flops_SMT",
12492b14858SMatt Macy        "MetricName": "FLOPc_SMT"
12592b14858SMatt Macy    },
12692b14858SMatt Macy    {
127959826caSMatt Macy        "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)",
128959826caSMatt Macy        "MetricExpr": "UOPS_DISPATCHED.THREAD / (( cpu@UOPS_DISPATCHED.CORE\\,cmask\\=1@ / 2 ) if #SMT_on else cpu@UOPS_DISPATCHED.CORE\\,cmask\\=1@)",
129*18054d02SAlexander Motin        "MetricGroup": "Backend;Cor;Pipeline;PortsUtil",
130959826caSMatt Macy        "MetricName": "ILP"
131959826caSMatt Macy    },
132959826caSMatt Macy    {
13392b14858SMatt Macy        "BriefDescription": "Core actual clocks when any Logical Processor is active on the Physical Core",
13492b14858SMatt Macy        "MetricExpr": "( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )",
135959826caSMatt Macy        "MetricGroup": "SMT",
136959826caSMatt Macy        "MetricName": "CORE_CLKS"
137959826caSMatt Macy    },
138959826caSMatt Macy    {
139*18054d02SAlexander Motin        "BriefDescription": "Total number of retired Instructions, Sample with: INST_RETIRED.PREC_DIST",
140*18054d02SAlexander Motin        "MetricExpr": "INST_RETIRED.ANY",
141*18054d02SAlexander Motin        "MetricGroup": "Summary;TmaL1",
142*18054d02SAlexander Motin        "MetricName": "Instructions"
143*18054d02SAlexander Motin    },
144*18054d02SAlexander Motin    {
145*18054d02SAlexander Motin        "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded ICache; or Uop Cache)",
146*18054d02SAlexander Motin        "MetricExpr": "IDQ.DSB_UOPS / (( IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS ) )",
147*18054d02SAlexander Motin        "MetricGroup": "DSB;Fed;FetchBW",
148*18054d02SAlexander Motin        "MetricName": "DSB_Coverage"
149*18054d02SAlexander Motin    },
150*18054d02SAlexander Motin    {
151959826caSMatt Macy        "BriefDescription": "Average CPU Utilization",
152959826caSMatt Macy        "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@",
153*18054d02SAlexander Motin        "MetricGroup": "HPC;Summary",
154959826caSMatt Macy        "MetricName": "CPU_Utilization"
155959826caSMatt Macy    },
156959826caSMatt Macy    {
157*18054d02SAlexander Motin        "BriefDescription": "Measured Average Frequency for unhalted processors [GHz]",
158*18054d02SAlexander Motin        "MetricExpr": "(CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC) * msr@tsc@ / 1000000000 / duration_time",
159*18054d02SAlexander Motin        "MetricGroup": "Summary;Power",
160*18054d02SAlexander Motin        "MetricName": "Average_Frequency"
161*18054d02SAlexander Motin    },
162*18054d02SAlexander Motin    {
163959826caSMatt Macy        "BriefDescription": "Giga Floating Point Operations Per Second",
164*18054d02SAlexander Motin        "MetricExpr": "( ( 1 * ( FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE ) + 2 * FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE + 4 * ( FP_COMP_OPS_EXE.SSE_PACKED_SINGLE + SIMD_FP_256.PACKED_DOUBLE ) + 8 * SIMD_FP_256.PACKED_SINGLE ) / 1000000000 ) / duration_time",
165*18054d02SAlexander Motin        "MetricGroup": "Cor;Flops;HPC",
166959826caSMatt Macy        "MetricName": "GFLOPs"
167959826caSMatt Macy    },
168959826caSMatt Macy    {
169959826caSMatt Macy        "BriefDescription": "Average Frequency Utilization relative nominal frequency",
170959826caSMatt Macy        "MetricExpr": "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC",
171959826caSMatt Macy        "MetricGroup": "Power",
172959826caSMatt Macy        "MetricName": "Turbo_Utilization"
173959826caSMatt Macy    },
174959826caSMatt Macy    {
17592b14858SMatt Macy        "BriefDescription": "Fraction of cycles where both hardware Logical Processors were active",
176*18054d02SAlexander Motin        "MetricExpr": "1 - CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / ( CPU_CLK_UNHALTED.REF_XCLK_ANY / 2 ) if #SMT_on else 0",
177*18054d02SAlexander Motin        "MetricGroup": "SMT",
178959826caSMatt Macy        "MetricName": "SMT_2T_Utilization"
179959826caSMatt Macy    },
180959826caSMatt Macy    {
181*18054d02SAlexander Motin        "BriefDescription": "Fraction of cycles spent in the Operating System (OS) Kernel mode",
182*18054d02SAlexander Motin        "MetricExpr": "CPU_CLK_UNHALTED.THREAD_P:k / CPU_CLK_UNHALTED.THREAD",
183*18054d02SAlexander Motin        "MetricGroup": "OS",
184959826caSMatt Macy        "MetricName": "Kernel_Utilization"
185959826caSMatt Macy    },
186959826caSMatt Macy    {
187*18054d02SAlexander Motin        "BriefDescription": "Cycles Per Instruction for the Operating System (OS) Kernel mode",
188*18054d02SAlexander Motin        "MetricExpr": "CPU_CLK_UNHALTED.THREAD_P:k / INST_RETIRED.ANY_P:k",
189*18054d02SAlexander Motin        "MetricGroup": "OS",
190*18054d02SAlexander Motin        "MetricName": "Kernel_CPI"
191*18054d02SAlexander Motin    },
192*18054d02SAlexander Motin    {
19392b14858SMatt Macy        "BriefDescription": "Average external Memory Bandwidth Use for reads and writes [GB / sec]",
19492b14858SMatt Macy        "MetricExpr": "64 * ( arb@event\\=0x81\\,umask\\=0x1@ + arb@event\\=0x84\\,umask\\=0x1@ ) / 1000000 / duration_time / 1000",
195*18054d02SAlexander Motin        "MetricGroup": "HPC;Mem;MemoryBW;SoC",
19692b14858SMatt Macy        "MetricName": "DRAM_BW_Use"
19792b14858SMatt Macy    },
19892b14858SMatt Macy    {
199*18054d02SAlexander Motin        "BriefDescription": "Average latency of all requests to external memory (in Uncore cycles)",
200*18054d02SAlexander Motin        "MetricExpr": "UNC_ARB_TRK_OCCUPANCY.ALL / arb@event\\=0x81\\,umask\\=0x1@",
201*18054d02SAlexander Motin        "MetricGroup": "Mem;SoC",
202*18054d02SAlexander Motin        "MetricName": "MEM_Request_Latency"
203*18054d02SAlexander Motin    },
204*18054d02SAlexander Motin    {
205*18054d02SAlexander Motin        "BriefDescription": "Average number of parallel requests to external memory. Accounts for all requests",
206*18054d02SAlexander Motin        "MetricExpr": "UNC_ARB_TRK_OCCUPANCY.ALL / arb@event\\=0x81\\,umask\\=0x1@",
207*18054d02SAlexander Motin        "MetricGroup": "Mem;SoC",
208*18054d02SAlexander Motin        "MetricName": "MEM_Parallel_Requests"
209*18054d02SAlexander Motin    },
210*18054d02SAlexander Motin    {
211*18054d02SAlexander Motin        "BriefDescription": "Instructions per Far Branch ( Far Branches apply upon transition from application to operating system, handling interrupts, exceptions) [lower number means higher occurrence rate]",
212*18054d02SAlexander Motin        "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.FAR_BRANCH:u",
213*18054d02SAlexander Motin        "MetricGroup": "Branches;OS",
214*18054d02SAlexander Motin        "MetricName": "IpFarBranch"
215*18054d02SAlexander Motin    },
216*18054d02SAlexander Motin    {
217959826caSMatt Macy        "BriefDescription": "C3 residency percent per core",
218959826caSMatt Macy        "MetricExpr": "(cstate_core@c3\\-residency@ / msr@tsc@) * 100",
219959826caSMatt Macy        "MetricGroup": "Power",
220959826caSMatt Macy        "MetricName": "C3_Core_Residency"
221959826caSMatt Macy    },
222959826caSMatt Macy    {
223959826caSMatt Macy        "BriefDescription": "C6 residency percent per core",
224959826caSMatt Macy        "MetricExpr": "(cstate_core@c6\\-residency@ / msr@tsc@) * 100",
225959826caSMatt Macy        "MetricGroup": "Power",
226959826caSMatt Macy        "MetricName": "C6_Core_Residency"
227959826caSMatt Macy    },
228959826caSMatt Macy    {
229959826caSMatt Macy        "BriefDescription": "C7 residency percent per core",
230959826caSMatt Macy        "MetricExpr": "(cstate_core@c7\\-residency@ / msr@tsc@) * 100",
231959826caSMatt Macy        "MetricGroup": "Power",
232959826caSMatt Macy        "MetricName": "C7_Core_Residency"
233959826caSMatt Macy    },
234959826caSMatt Macy    {
235959826caSMatt Macy        "BriefDescription": "C2 residency percent per package",
236959826caSMatt Macy        "MetricExpr": "(cstate_pkg@c2\\-residency@ / msr@tsc@) * 100",
237959826caSMatt Macy        "MetricGroup": "Power",
238959826caSMatt Macy        "MetricName": "C2_Pkg_Residency"
239959826caSMatt Macy    },
240959826caSMatt Macy    {
241959826caSMatt Macy        "BriefDescription": "C3 residency percent per package",
242959826caSMatt Macy        "MetricExpr": "(cstate_pkg@c3\\-residency@ / msr@tsc@) * 100",
243959826caSMatt Macy        "MetricGroup": "Power",
244959826caSMatt Macy        "MetricName": "C3_Pkg_Residency"
245959826caSMatt Macy    },
246959826caSMatt Macy    {
247959826caSMatt Macy        "BriefDescription": "C6 residency percent per package",
248959826caSMatt Macy        "MetricExpr": "(cstate_pkg@c6\\-residency@ / msr@tsc@) * 100",
249959826caSMatt Macy        "MetricGroup": "Power",
250959826caSMatt Macy        "MetricName": "C6_Pkg_Residency"
251959826caSMatt Macy    },
252959826caSMatt Macy    {
253959826caSMatt Macy        "BriefDescription": "C7 residency percent per package",
254959826caSMatt Macy        "MetricExpr": "(cstate_pkg@c7\\-residency@ / msr@tsc@) * 100",
255959826caSMatt Macy        "MetricGroup": "Power",
256959826caSMatt Macy        "MetricName": "C7_Pkg_Residency"
257959826caSMatt Macy    }
258959826caSMatt Macy]
259