xref: /openbmc/linux/tools/perf/pmu-events/arch/x86/ivybridge/frontend.json (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
14b90798eSAndi Kleen[
24b90798eSAndi Kleen    {
3*e0f6eeefSIan Rogers        "BriefDescription": "Counts the total number when the front end is resteered, mainly when the BPU cannot provide a correct prediction and this is corrected by other branch handling mechanisms at the front end.",
4*e0f6eeefSIan Rogers        "EventCode": "0xE6",
5*e0f6eeefSIan Rogers        "EventName": "BACLEARS.ANY",
6*e0f6eeefSIan Rogers        "PublicDescription": "Number of front end re-steers due to BPU misprediction.",
7*e0f6eeefSIan Rogers        "SampleAfterValue": "100003",
8*e0f6eeefSIan Rogers        "UMask": "0x1f"
94b90798eSAndi Kleen    },
104b90798eSAndi Kleen    {
11*e0f6eeefSIan Rogers        "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switches",
12*e0f6eeefSIan Rogers        "EventCode": "0xAB",
13*e0f6eeefSIan Rogers        "EventName": "DSB2MITE_SWITCHES.COUNT",
14*e0f6eeefSIan Rogers        "PublicDescription": "Number of DSB to MITE switches.",
154b90798eSAndi Kleen        "SampleAfterValue": "2000003",
16*e0f6eeefSIan Rogers        "UMask": "0x1"
174b90798eSAndi Kleen    },
184b90798eSAndi Kleen    {
19*e0f6eeefSIan Rogers        "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles",
20*e0f6eeefSIan Rogers        "EventCode": "0xAB",
21*e0f6eeefSIan Rogers        "EventName": "DSB2MITE_SWITCHES.PENALTY_CYCLES",
22*e0f6eeefSIan Rogers        "PublicDescription": "Cycles DSB to MITE switches caused delay.",
234b90798eSAndi Kleen        "SampleAfterValue": "2000003",
24*e0f6eeefSIan Rogers        "UMask": "0x2"
254b90798eSAndi Kleen    },
264b90798eSAndi Kleen    {
27*e0f6eeefSIan Rogers        "BriefDescription": "Cycles when Decode Stream Buffer (DSB) fill encounter more than 3 Decode Stream Buffer (DSB) lines",
28*e0f6eeefSIan Rogers        "EventCode": "0xAC",
29*e0f6eeefSIan Rogers        "EventName": "DSB_FILL.EXCEED_DSB_LINES",
30*e0f6eeefSIan Rogers        "PublicDescription": "DSB Fill encountered > 3 DSB lines.",
31c955cd2bSAndi Kleen        "SampleAfterValue": "2000003",
32*e0f6eeefSIan Rogers        "UMask": "0x8"
33c955cd2bSAndi Kleen    },
34c955cd2bSAndi Kleen    {
354b90798eSAndi Kleen        "BriefDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and noncacheable, including UC fetches",
364b90798eSAndi Kleen        "EventCode": "0x80",
37*e0f6eeefSIan Rogers        "EventName": "ICACHE.HIT",
38*e0f6eeefSIan Rogers        "PublicDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and noncacheable, including UC fetches.",
394b90798eSAndi Kleen        "SampleAfterValue": "2000003",
40*e0f6eeefSIan Rogers        "UMask": "0x1"
41*e0f6eeefSIan Rogers    },
42*e0f6eeefSIan Rogers    {
434b90798eSAndi Kleen        "BriefDescription": "Cycles where a code-fetch stalled due to L1 instruction-cache miss or an iTLB miss",
44*e0f6eeefSIan Rogers        "EventCode": "0x80",
45*e0f6eeefSIan Rogers        "EventName": "ICACHE.IFETCH_STALL",
46*e0f6eeefSIan Rogers        "PublicDescription": "Cycles where a code-fetch stalled due to L1 instruction-cache miss or an iTLB miss.",
474b90798eSAndi Kleen        "SampleAfterValue": "2000003",
48*e0f6eeefSIan Rogers        "UMask": "0x4"
494b90798eSAndi Kleen    },
504b90798eSAndi Kleen    {
51*e0f6eeefSIan Rogers        "BriefDescription": "Instruction cache, streaming buffer and victim cache misses",
52*e0f6eeefSIan Rogers        "EventCode": "0x80",
53*e0f6eeefSIan Rogers        "EventName": "ICACHE.MISSES",
54*e0f6eeefSIan Rogers        "PublicDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Misses. Includes UC accesses.",
55*e0f6eeefSIan Rogers        "SampleAfterValue": "200003",
56*e0f6eeefSIan Rogers        "UMask": "0x2"
57*e0f6eeefSIan Rogers    },
58*e0f6eeefSIan Rogers    {
59*e0f6eeefSIan Rogers        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering 4 Uops",
60*e0f6eeefSIan Rogers        "CounterMask": "4",
61*e0f6eeefSIan Rogers        "EventCode": "0x79",
62*e0f6eeefSIan Rogers        "EventName": "IDQ.ALL_DSB_CYCLES_4_UOPS",
63*e0f6eeefSIan Rogers        "PublicDescription": "Counts cycles DSB is delivered four uops. Set Cmask = 4.",
64*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
65*e0f6eeefSIan Rogers        "UMask": "0x18"
66*e0f6eeefSIan Rogers    },
67*e0f6eeefSIan Rogers    {
68*e0f6eeefSIan Rogers        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering any Uop",
69*e0f6eeefSIan Rogers        "CounterMask": "1",
70*e0f6eeefSIan Rogers        "EventCode": "0x79",
71*e0f6eeefSIan Rogers        "EventName": "IDQ.ALL_DSB_CYCLES_ANY_UOPS",
72*e0f6eeefSIan Rogers        "PublicDescription": "Counts cycles DSB is delivered at least one uops. Set Cmask = 1.",
73*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
74*e0f6eeefSIan Rogers        "UMask": "0x18"
75*e0f6eeefSIan Rogers    },
76*e0f6eeefSIan Rogers    {
77*e0f6eeefSIan Rogers        "BriefDescription": "Cycles MITE is delivering 4 Uops",
78*e0f6eeefSIan Rogers        "CounterMask": "4",
79*e0f6eeefSIan Rogers        "EventCode": "0x79",
80*e0f6eeefSIan Rogers        "EventName": "IDQ.ALL_MITE_CYCLES_4_UOPS",
81*e0f6eeefSIan Rogers        "PublicDescription": "Counts cycles MITE is delivered four uops. Set Cmask = 4.",
82*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
83*e0f6eeefSIan Rogers        "UMask": "0x24"
84*e0f6eeefSIan Rogers    },
85*e0f6eeefSIan Rogers    {
86*e0f6eeefSIan Rogers        "BriefDescription": "Cycles MITE is delivering any Uop",
87*e0f6eeefSIan Rogers        "CounterMask": "1",
88*e0f6eeefSIan Rogers        "EventCode": "0x79",
89*e0f6eeefSIan Rogers        "EventName": "IDQ.ALL_MITE_CYCLES_ANY_UOPS",
90*e0f6eeefSIan Rogers        "PublicDescription": "Counts cycles MITE is delivered at least one uops. Set Cmask = 1.",
91*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
92*e0f6eeefSIan Rogers        "UMask": "0x24"
93*e0f6eeefSIan Rogers    },
94*e0f6eeefSIan Rogers    {
95*e0f6eeefSIan Rogers        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path",
96*e0f6eeefSIan Rogers        "CounterMask": "1",
97*e0f6eeefSIan Rogers        "EventCode": "0x79",
98*e0f6eeefSIan Rogers        "EventName": "IDQ.DSB_CYCLES",
99*e0f6eeefSIan Rogers        "PublicDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path.",
100*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
101*e0f6eeefSIan Rogers        "UMask": "0x8"
102*e0f6eeefSIan Rogers    },
103*e0f6eeefSIan Rogers    {
104*e0f6eeefSIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path",
105*e0f6eeefSIan Rogers        "EventCode": "0x79",
106*e0f6eeefSIan Rogers        "EventName": "IDQ.DSB_UOPS",
107*e0f6eeefSIan Rogers        "PublicDescription": "Increment each cycle. # of uops delivered to IDQ from DSB path. Set Cmask = 1 to count cycles.",
108*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
109*e0f6eeefSIan Rogers        "UMask": "0x8"
110*e0f6eeefSIan Rogers    },
111*e0f6eeefSIan Rogers    {
112*e0f6eeefSIan Rogers        "BriefDescription": "Instruction Decode Queue (IDQ) empty cycles",
113*e0f6eeefSIan Rogers        "EventCode": "0x79",
114*e0f6eeefSIan Rogers        "EventName": "IDQ.EMPTY",
115*e0f6eeefSIan Rogers        "PublicDescription": "Counts cycles the IDQ is empty.",
116*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
117*e0f6eeefSIan Rogers        "UMask": "0x2"
118*e0f6eeefSIan Rogers    },
119*e0f6eeefSIan Rogers    {
120*e0f6eeefSIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path",
121*e0f6eeefSIan Rogers        "EventCode": "0x79",
122*e0f6eeefSIan Rogers        "EventName": "IDQ.MITE_ALL_UOPS",
123*e0f6eeefSIan Rogers        "PublicDescription": "Number of uops delivered to IDQ from any path.",
124*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
125*e0f6eeefSIan Rogers        "UMask": "0x3c"
126*e0f6eeefSIan Rogers    },
127*e0f6eeefSIan Rogers    {
128*e0f6eeefSIan Rogers        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path",
129*e0f6eeefSIan Rogers        "CounterMask": "1",
130*e0f6eeefSIan Rogers        "EventCode": "0x79",
131*e0f6eeefSIan Rogers        "EventName": "IDQ.MITE_CYCLES",
132*e0f6eeefSIan Rogers        "PublicDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path.",
133*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
134*e0f6eeefSIan Rogers        "UMask": "0x4"
135*e0f6eeefSIan Rogers    },
136*e0f6eeefSIan Rogers    {
137*e0f6eeefSIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path",
138*e0f6eeefSIan Rogers        "EventCode": "0x79",
139*e0f6eeefSIan Rogers        "EventName": "IDQ.MITE_UOPS",
140*e0f6eeefSIan Rogers        "PublicDescription": "Increment each cycle # of uops delivered to IDQ from MITE path. Set Cmask = 1 to count cycles.",
141*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
142*e0f6eeefSIan Rogers        "UMask": "0x4"
143*e0f6eeefSIan Rogers    },
144*e0f6eeefSIan Rogers    {
145*e0f6eeefSIan Rogers        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy",
146*e0f6eeefSIan Rogers        "CounterMask": "1",
147*e0f6eeefSIan Rogers        "EventCode": "0x79",
148*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_CYCLES",
149*e0f6eeefSIan Rogers        "PublicDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
150*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
151*e0f6eeefSIan Rogers        "UMask": "0x30"
152*e0f6eeefSIan Rogers    },
153*e0f6eeefSIan Rogers    {
154*e0f6eeefSIan Rogers        "BriefDescription": "Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy",
155*e0f6eeefSIan Rogers        "CounterMask": "1",
156*e0f6eeefSIan Rogers        "EventCode": "0x79",
157*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_DSB_CYCLES",
158*e0f6eeefSIan Rogers        "PublicDescription": "Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
159*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
160*e0f6eeefSIan Rogers        "UMask": "0x10"
161*e0f6eeefSIan Rogers    },
162*e0f6eeefSIan Rogers    {
163*e0f6eeefSIan Rogers        "BriefDescription": "Deliveries to Instruction Decode Queue (IDQ) initiated by Decode Stream Buffer (DSB) while Microcode Sequenser (MS) is busy",
164*e0f6eeefSIan Rogers        "CounterMask": "1",
165*e0f6eeefSIan Rogers        "EdgeDetect": "1",
166*e0f6eeefSIan Rogers        "EventCode": "0x79",
167*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_DSB_OCCUR",
168*e0f6eeefSIan Rogers        "PublicDescription": "Deliveries to Instruction Decode Queue (IDQ) initiated by Decode Stream Buffer (DSB) while Microcode Sequenser (MS) is busy.",
169*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
170*e0f6eeefSIan Rogers        "UMask": "0x10"
171*e0f6eeefSIan Rogers    },
172*e0f6eeefSIan Rogers    {
173*e0f6eeefSIan Rogers        "BriefDescription": "Uops initiated by Decode Stream Buffer (DSB) that are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy",
174*e0f6eeefSIan Rogers        "EventCode": "0x79",
175*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_DSB_UOPS",
176*e0f6eeefSIan Rogers        "PublicDescription": "Increment each cycle # of uops delivered to IDQ when MS_busy by DSB. Set Cmask = 1 to count cycles. Add Edge=1 to count # of delivery.",
177*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
178*e0f6eeefSIan Rogers        "UMask": "0x10"
179*e0f6eeefSIan Rogers    },
180*e0f6eeefSIan Rogers    {
181*e0f6eeefSIan Rogers        "BriefDescription": "Uops initiated by MITE and delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy",
182*e0f6eeefSIan Rogers        "EventCode": "0x79",
183*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_MITE_UOPS",
184*e0f6eeefSIan Rogers        "PublicDescription": "Increment each cycle # of uops delivered to IDQ when MS_busy by MITE. Set Cmask = 1 to count cycles.",
185*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
186*e0f6eeefSIan Rogers        "UMask": "0x20"
187*e0f6eeefSIan Rogers    },
188*e0f6eeefSIan Rogers    {
189*e0f6eeefSIan Rogers        "BriefDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer",
190*e0f6eeefSIan Rogers        "CounterMask": "1",
191*e0f6eeefSIan Rogers        "EdgeDetect": "1",
192*e0f6eeefSIan Rogers        "EventCode": "0x79",
193*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_SWITCHES",
194*e0f6eeefSIan Rogers        "PublicDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer.",
195*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
196*e0f6eeefSIan Rogers        "UMask": "0x30"
197*e0f6eeefSIan Rogers    },
198*e0f6eeefSIan Rogers    {
199*e0f6eeefSIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy",
200*e0f6eeefSIan Rogers        "EventCode": "0x79",
201*e0f6eeefSIan Rogers        "EventName": "IDQ.MS_UOPS",
202*e0f6eeefSIan Rogers        "PublicDescription": "Increment each cycle # of uops delivered to IDQ from MS by either DSB or MITE. Set Cmask = 1 to count cycles.",
203*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
204*e0f6eeefSIan Rogers        "UMask": "0x30"
205*e0f6eeefSIan Rogers    },
206*e0f6eeefSIan Rogers    {
207*e0f6eeefSIan Rogers        "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled",
208*e0f6eeefSIan Rogers        "EventCode": "0x9C",
209*e0f6eeefSIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CORE",
210*e0f6eeefSIan Rogers        "PublicDescription": "Count issue pipeline slots where no uop was delivered from the front end to the back end when there is no back-end stall.",
211*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
212*e0f6eeefSIan Rogers        "UMask": "0x1"
213*e0f6eeefSIan Rogers    },
214*e0f6eeefSIan Rogers    {
215*e0f6eeefSIan Rogers        "BriefDescription": "Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled.",
216*e0f6eeefSIan Rogers        "CounterMask": "4",
217*e0f6eeefSIan Rogers        "EventCode": "0x9C",
2184b90798eSAndi Kleen        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE",
2194b90798eSAndi Kleen        "SampleAfterValue": "2000003",
220*e0f6eeefSIan Rogers        "UMask": "0x1"
2214b90798eSAndi Kleen    },
2224b90798eSAndi Kleen    {
223*e0f6eeefSIan Rogers        "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Table (RAT) was stalling FE.",
224*e0f6eeefSIan Rogers        "CounterMask": "1",
225*e0f6eeefSIan Rogers        "EventCode": "0x9C",
226*e0f6eeefSIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_FE_WAS_OK",
227*e0f6eeefSIan Rogers        "Invert": "1",
228*e0f6eeefSIan Rogers        "SampleAfterValue": "2000003",
229*e0f6eeefSIan Rogers        "UMask": "0x1"
230*e0f6eeefSIan Rogers    },
231*e0f6eeefSIan Rogers    {
232*e0f6eeefSIan Rogers        "BriefDescription": "Cycles per thread when 3 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled.",
233*e0f6eeefSIan Rogers        "CounterMask": "3",
234*e0f6eeefSIan Rogers        "EventCode": "0x9C",
2354b90798eSAndi Kleen        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_1_UOP_DELIV.CORE",
2364b90798eSAndi Kleen        "SampleAfterValue": "2000003",
237*e0f6eeefSIan Rogers        "UMask": "0x1"
2384b90798eSAndi Kleen    },
2394b90798eSAndi Kleen    {
240*e0f6eeefSIan Rogers        "BriefDescription": "Cycles with less than 2 uops delivered by the front end.",
241*e0f6eeefSIan Rogers        "CounterMask": "2",
242*e0f6eeefSIan Rogers        "EventCode": "0x9C",
2434b90798eSAndi Kleen        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_2_UOP_DELIV.CORE",
2444b90798eSAndi Kleen        "SampleAfterValue": "2000003",
245*e0f6eeefSIan Rogers        "UMask": "0x1"
2464b90798eSAndi Kleen    },
2474b90798eSAndi Kleen    {
248*e0f6eeefSIan Rogers        "BriefDescription": "Cycles with less than 3 uops delivered by the front end.",
249*e0f6eeefSIan Rogers        "CounterMask": "1",
250*e0f6eeefSIan Rogers        "EventCode": "0x9C",
2514b90798eSAndi Kleen        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_3_UOP_DELIV.CORE",
2524b90798eSAndi Kleen        "SampleAfterValue": "2000003",
253*e0f6eeefSIan Rogers        "UMask": "0x1"
2544b90798eSAndi Kleen    }
2554b90798eSAndi Kleen]
256