xref: /linux/tools/perf/pmu-events/arch/x86/sandybridge/frontend.json (revision 01cb5e3d98209ff9b78f77b74e15ba6983ca37ff)
16e82bdaeSAndi Kleen[
26e82bdaeSAndi Kleen    {
3b5948fc6SIan 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*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
5b5948fc6SIan Rogers        "EventCode": "0xE6",
6b5948fc6SIan Rogers        "EventName": "BACLEARS.ANY",
7b5948fc6SIan Rogers        "SampleAfterValue": "100003",
8b5948fc6SIan Rogers        "UMask": "0x1f"
96e82bdaeSAndi Kleen    },
106e82bdaeSAndi Kleen    {
11b5948fc6SIan Rogers        "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switches.",
12*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
136e82bdaeSAndi Kleen        "EventCode": "0xAB",
146e82bdaeSAndi Kleen        "EventName": "DSB2MITE_SWITCHES.COUNT",
156e82bdaeSAndi Kleen        "SampleAfterValue": "2000003",
16b5948fc6SIan Rogers        "UMask": "0x1"
176e82bdaeSAndi Kleen    },
186e82bdaeSAndi Kleen    {
196e82bdaeSAndi Kleen        "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles.",
20*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
21b5948fc6SIan Rogers        "EventCode": "0xAB",
22b5948fc6SIan Rogers        "EventName": "DSB2MITE_SWITCHES.PENALTY_CYCLES",
23b5948fc6SIan Rogers        "PublicDescription": "This event counts the cycles attributed to a switch from the Decoded Stream Buffer (DSB), which holds decoded instructions, to the legacy decode pipeline.  It excludes cycles when the back-end cannot  accept new micro-ops.  The penalty for these switches is potentially several cycles of instruction starvation, where no micro-ops are delivered to the back-end.",
246e82bdaeSAndi Kleen        "SampleAfterValue": "2000003",
25b5948fc6SIan Rogers        "UMask": "0x2"
266e82bdaeSAndi Kleen    },
276e82bdaeSAndi Kleen    {
28b5948fc6SIan Rogers        "BriefDescription": "Cases of cancelling valid Decode Stream Buffer (DSB) fill not because of exceeding way limit.",
29*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
306e82bdaeSAndi Kleen        "EventCode": "0xAC",
316e82bdaeSAndi Kleen        "EventName": "DSB_FILL.ALL_CANCEL",
326e82bdaeSAndi Kleen        "SampleAfterValue": "2000003",
33b5948fc6SIan Rogers        "UMask": "0xa"
34b5948fc6SIan Rogers    },
35b5948fc6SIan Rogers    {
36b5948fc6SIan Rogers        "BriefDescription": "Cycles when Decode Stream Buffer (DSB) fill encounter more than 3 Decode Stream Buffer (DSB) lines.",
37*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
38b5948fc6SIan Rogers        "EventCode": "0xAC",
39b5948fc6SIan Rogers        "EventName": "DSB_FILL.EXCEED_DSB_LINES",
40b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
41b5948fc6SIan Rogers        "UMask": "0x8"
42b5948fc6SIan Rogers    },
43b5948fc6SIan Rogers    {
44b5948fc6SIan Rogers        "BriefDescription": "Cases of cancelling valid DSB fill not because of exceeding way limit.",
45*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
46b5948fc6SIan Rogers        "EventCode": "0xAC",
47b5948fc6SIan Rogers        "EventName": "DSB_FILL.OTHER_CANCEL",
48b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
49b5948fc6SIan Rogers        "UMask": "0x2"
50b5948fc6SIan Rogers    },
51b5948fc6SIan Rogers    {
52b5948fc6SIan Rogers        "BriefDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and noncacheable, including UC fetches.",
53*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
54b5948fc6SIan Rogers        "EventCode": "0x80",
55b5948fc6SIan Rogers        "EventName": "ICACHE.HIT",
56b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
57b5948fc6SIan Rogers        "UMask": "0x1"
58b5948fc6SIan Rogers    },
59b5948fc6SIan Rogers    {
60b5948fc6SIan Rogers        "BriefDescription": "Instruction cache, streaming buffer and victim cache misses.",
61*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
62b5948fc6SIan Rogers        "EventCode": "0x80",
63b5948fc6SIan Rogers        "EventName": "ICACHE.MISSES",
64b5948fc6SIan Rogers        "PublicDescription": "This event counts the number of instruction cache, streaming buffer and victim cache misses. Counting includes unchacheable accesses.",
65b5948fc6SIan Rogers        "SampleAfterValue": "200003",
66b5948fc6SIan Rogers        "UMask": "0x2"
67b5948fc6SIan Rogers    },
68b5948fc6SIan Rogers    {
69b5948fc6SIan Rogers        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering 4 Uops.",
70*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
71b5948fc6SIan Rogers        "CounterMask": "4",
72b5948fc6SIan Rogers        "EventCode": "0x79",
73b5948fc6SIan Rogers        "EventName": "IDQ.ALL_DSB_CYCLES_4_UOPS",
74b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
75b5948fc6SIan Rogers        "UMask": "0x18"
76b5948fc6SIan Rogers    },
77b5948fc6SIan Rogers    {
78b5948fc6SIan Rogers        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering any Uop.",
79*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
80b5948fc6SIan Rogers        "CounterMask": "1",
81b5948fc6SIan Rogers        "EventCode": "0x79",
82b5948fc6SIan Rogers        "EventName": "IDQ.ALL_DSB_CYCLES_ANY_UOPS",
83b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
84b5948fc6SIan Rogers        "UMask": "0x18"
85b5948fc6SIan Rogers    },
86b5948fc6SIan Rogers    {
87b5948fc6SIan Rogers        "BriefDescription": "Cycles MITE is delivering 4 Uops.",
88*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
89b5948fc6SIan Rogers        "CounterMask": "4",
90b5948fc6SIan Rogers        "EventCode": "0x79",
91b5948fc6SIan Rogers        "EventName": "IDQ.ALL_MITE_CYCLES_4_UOPS",
92b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
93b5948fc6SIan Rogers        "UMask": "0x24"
94b5948fc6SIan Rogers    },
95b5948fc6SIan Rogers    {
96b5948fc6SIan Rogers        "BriefDescription": "Cycles MITE is delivering any Uop.",
97*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
98b5948fc6SIan Rogers        "CounterMask": "1",
99b5948fc6SIan Rogers        "EventCode": "0x79",
100b5948fc6SIan Rogers        "EventName": "IDQ.ALL_MITE_CYCLES_ANY_UOPS",
101b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
102b5948fc6SIan Rogers        "UMask": "0x24"
103b5948fc6SIan Rogers    },
104b5948fc6SIan Rogers    {
105b5948fc6SIan Rogers        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path.",
106*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
107b5948fc6SIan Rogers        "CounterMask": "1",
108b5948fc6SIan Rogers        "EventCode": "0x79",
109b5948fc6SIan Rogers        "EventName": "IDQ.DSB_CYCLES",
110b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
111b5948fc6SIan Rogers        "UMask": "0x8"
112b5948fc6SIan Rogers    },
113b5948fc6SIan Rogers    {
114b5948fc6SIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path.",
115*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
116b5948fc6SIan Rogers        "EventCode": "0x79",
117b5948fc6SIan Rogers        "EventName": "IDQ.DSB_UOPS",
118b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
119b5948fc6SIan Rogers        "UMask": "0x8"
120b5948fc6SIan Rogers    },
121b5948fc6SIan Rogers    {
122b5948fc6SIan Rogers        "BriefDescription": "Instruction Decode Queue (IDQ) empty cycles.",
123*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
124b5948fc6SIan Rogers        "EventCode": "0x79",
125b5948fc6SIan Rogers        "EventName": "IDQ.EMPTY",
126b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
127b5948fc6SIan Rogers        "UMask": "0x2"
128b5948fc6SIan Rogers    },
129b5948fc6SIan Rogers    {
130b5948fc6SIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path.",
131*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
132b5948fc6SIan Rogers        "EventCode": "0x79",
133b5948fc6SIan Rogers        "EventName": "IDQ.MITE_ALL_UOPS",
134b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
135b5948fc6SIan Rogers        "UMask": "0x3c"
136b5948fc6SIan Rogers    },
137b5948fc6SIan Rogers    {
138b5948fc6SIan Rogers        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path.",
139*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
140b5948fc6SIan Rogers        "CounterMask": "1",
141b5948fc6SIan Rogers        "EventCode": "0x79",
142b5948fc6SIan Rogers        "EventName": "IDQ.MITE_CYCLES",
143b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
144b5948fc6SIan Rogers        "UMask": "0x4"
145b5948fc6SIan Rogers    },
146b5948fc6SIan Rogers    {
147b5948fc6SIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path.",
148*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
149b5948fc6SIan Rogers        "EventCode": "0x79",
150b5948fc6SIan Rogers        "EventName": "IDQ.MITE_UOPS",
151b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
152b5948fc6SIan Rogers        "UMask": "0x4"
153b5948fc6SIan Rogers    },
154b5948fc6SIan Rogers    {
1554507f603SIan Rogers        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequencer (MS) is busy.",
156*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
157b5948fc6SIan Rogers        "CounterMask": "1",
158b5948fc6SIan Rogers        "EventCode": "0x79",
159b5948fc6SIan Rogers        "EventName": "IDQ.MS_CYCLES",
160777e1312SIan Rogers        "PublicDescription": "This event counts cycles during which the microcode sequencer assisted the front-end in delivering uops.  Microcode assists are used for complex instructions or scenarios that can't be handled by the standard decoder.  Using other instructions, if possible, will usually improve performance.  See the Intel(R) 64 and IA-32 Architectures Optimization Reference Manual for more information.",
161b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
162b5948fc6SIan Rogers        "UMask": "0x30"
163b5948fc6SIan Rogers    },
164b5948fc6SIan Rogers    {
1654507f603SIan Rogers        "BriefDescription": "Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequencer (MS) is busy.",
166*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
167b5948fc6SIan Rogers        "CounterMask": "1",
168b5948fc6SIan Rogers        "EventCode": "0x79",
169b5948fc6SIan Rogers        "EventName": "IDQ.MS_DSB_CYCLES",
170b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
171b5948fc6SIan Rogers        "UMask": "0x10"
172b5948fc6SIan Rogers    },
173b5948fc6SIan Rogers    {
1744507f603SIan Rogers        "BriefDescription": "Deliveries to Instruction Decode Queue (IDQ) initiated by Decode Stream Buffer (DSB) while Microcode Sequencer (MS) is busy.",
175*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
176b5948fc6SIan Rogers        "CounterMask": "1",
177b5948fc6SIan Rogers        "EdgeDetect": "1",
178b5948fc6SIan Rogers        "EventCode": "0x79",
179b5948fc6SIan Rogers        "EventName": "IDQ.MS_DSB_OCCUR",
180b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
181b5948fc6SIan Rogers        "UMask": "0x10"
182b5948fc6SIan Rogers    },
183b5948fc6SIan Rogers    {
1844507f603SIan Rogers        "BriefDescription": "Uops initiated by Decode Stream Buffer (DSB) that are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequencer (MS) is busy.",
185*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
186b5948fc6SIan Rogers        "EventCode": "0x79",
187b5948fc6SIan Rogers        "EventName": "IDQ.MS_DSB_UOPS",
188b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
189b5948fc6SIan Rogers        "UMask": "0x10"
190b5948fc6SIan Rogers    },
191b5948fc6SIan Rogers    {
1924507f603SIan Rogers        "BriefDescription": "Uops initiated by MITE and delivered to Instruction Decode Queue (IDQ) while Microcode Sequencer (MS) is busy.",
193*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
194b5948fc6SIan Rogers        "EventCode": "0x79",
195b5948fc6SIan Rogers        "EventName": "IDQ.MS_MITE_UOPS",
196b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
197b5948fc6SIan Rogers        "UMask": "0x20"
198b5948fc6SIan Rogers    },
199b5948fc6SIan Rogers    {
200b5948fc6SIan Rogers        "BriefDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer.",
201*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
202b5948fc6SIan Rogers        "CounterMask": "1",
203b5948fc6SIan Rogers        "EdgeDetect": "1",
204b5948fc6SIan Rogers        "EventCode": "0x79",
205b5948fc6SIan Rogers        "EventName": "IDQ.MS_SWITCHES",
206b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
207b5948fc6SIan Rogers        "UMask": "0x30"
208b5948fc6SIan Rogers    },
209b5948fc6SIan Rogers    {
2104507f603SIan Rogers        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) while Microcode Sequencer (MS) is busy.",
211*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
212b5948fc6SIan Rogers        "EventCode": "0x79",
213b5948fc6SIan Rogers        "EventName": "IDQ.MS_UOPS",
214b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
215b5948fc6SIan Rogers        "UMask": "0x30"
216b5948fc6SIan Rogers    },
217b5948fc6SIan Rogers    {
218b5948fc6SIan Rogers        "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled .",
219*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
220b5948fc6SIan Rogers        "EventCode": "0x9C",
221b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CORE",
222b5948fc6SIan Rogers        "PublicDescription": "This event counts the number of uops not delivered to the back-end per cycle, per thread, when the back-end was not stalled.  In the ideal case 4 uops can be delivered each cycle.  The event counts the undelivered uops - so if 3 were delivered in one cycle, the counter would be incremented by 1 for that cycle (4 - 3). If the back-end is stalled, the count for this event is not incremented even when uops were not delivered, because the back-end would not have been able to accept them.  This event is used in determining the front-end bound category of the top-down pipeline slots characterization.",
223b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
224b5948fc6SIan Rogers        "UMask": "0x1"
225b5948fc6SIan Rogers    },
226b5948fc6SIan Rogers    {
227b5948fc6SIan 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.",
228*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
229b5948fc6SIan Rogers        "CounterMask": "4",
230b5948fc6SIan Rogers        "EventCode": "0x9C",
231b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE",
232b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
233b5948fc6SIan Rogers        "UMask": "0x1"
234b5948fc6SIan Rogers    },
235b5948fc6SIan Rogers    {
236b5948fc6SIan Rogers        "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Table (RAT) was stalling FE.",
237*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
238b5948fc6SIan Rogers        "CounterMask": "1",
239b5948fc6SIan Rogers        "EventCode": "0x9C",
240b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_FE_WAS_OK",
241b5948fc6SIan Rogers        "Invert": "1",
242b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
243b5948fc6SIan Rogers        "UMask": "0x1"
244b5948fc6SIan Rogers    },
245b5948fc6SIan Rogers    {
246b5948fc6SIan Rogers        "BriefDescription": "Cycles when 1 or more uops were delivered to the by the front end.",
247*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
248b5948fc6SIan Rogers        "CounterMask": "4",
249b5948fc6SIan Rogers        "EventCode": "0x9C",
250b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_GE_1_UOP_DELIV.CORE",
251b5948fc6SIan Rogers        "Invert": "1",
252b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
253b5948fc6SIan Rogers        "UMask": "0x1"
254b5948fc6SIan Rogers    },
255b5948fc6SIan Rogers    {
256b5948fc6SIan 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.",
257*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
258b5948fc6SIan Rogers        "CounterMask": "3",
259b5948fc6SIan Rogers        "EventCode": "0x9C",
260b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_1_UOP_DELIV.CORE",
261b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
262b5948fc6SIan Rogers        "UMask": "0x1"
263b5948fc6SIan Rogers    },
264b5948fc6SIan Rogers    {
265b5948fc6SIan Rogers        "BriefDescription": "Cycles with less than 2 uops delivered by the front end.",
266*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
267b5948fc6SIan Rogers        "CounterMask": "2",
268b5948fc6SIan Rogers        "EventCode": "0x9C",
269b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_2_UOP_DELIV.CORE",
270b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
271b5948fc6SIan Rogers        "UMask": "0x1"
272b5948fc6SIan Rogers    },
273b5948fc6SIan Rogers    {
274b5948fc6SIan Rogers        "BriefDescription": "Cycles with less than 3 uops delivered by the front end.",
275*01cb5e3dSIan Rogers        "Counter": "0,1,2,3",
276b5948fc6SIan Rogers        "CounterMask": "1",
277b5948fc6SIan Rogers        "EventCode": "0x9C",
278b5948fc6SIan Rogers        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_3_UOP_DELIV.CORE",
279b5948fc6SIan Rogers        "SampleAfterValue": "2000003",
280b5948fc6SIan Rogers        "UMask": "0x1"
2816e82bdaeSAndi Kleen    }
2826e82bdaeSAndi Kleen]
283