1[
2  {
3    "EventCode": "0x00",
4    "UMask": "0x01",
5    "EventName": "INST_RETIRED.ANY",
6    "BriefDescription": "Counts the number of instructions retired. (Fixed event)",
7    "PublicDescription": "Counts the number of instructions that retire. For instructions that consist of multiple uops, this event counts the retirement of the last uop of the instruction. The counter continues counting during hardware interrupts, traps, and inside interrupt handlers.  This event uses fixed counter 0.",
8    "Counter": "32",
9    "PEBScounters": "32",
10    "SampleAfterValue": "2000003",
11    "MSRIndex": "0x00",
12    "MSRValue": "0x00",
13    "CollectPEBSRecord": "2",
14    "CounterMask": "0",
15    "Invert": "0",
16    "AnyThread": "0",
17    "EdgeDetect": "0",
18    "PEBS": "1",
19    "Data_LA": "0",
20    "Errata": "0",
21    "Offcore": "0",
22    "PDIR_COUNTER": "0"
23  },
24  {
25    "EventCode": "0x00",
26    "UMask": "0x02",
27    "EventName": "CPU_CLK_UNHALTED.CORE",
28    "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
29    "PublicDescription": "Counts the number of core cycles while the core is not in a halt state.  The core enters the halt state when it is running the HLT instruction. The core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time.  This event uses fixed counter 1.",
30    "Counter": "33",
31    "PEBScounters": "33",
32    "SampleAfterValue": "2000003",
33    "MSRIndex": "0x00",
34    "MSRValue": "0x00",
35    "CollectPEBSRecord": "2",
36    "CounterMask": "0",
37    "Invert": "0",
38    "AnyThread": "0",
39    "EdgeDetect": "0",
40    "PEBS": "0",
41    "Data_LA": "0",
42    "Errata": "0",
43    "Offcore": "0",
44    "PDIR_COUNTER": "na"
45  },
46  {
47    "EventCode": "0x00",
48    "UMask": "0x03",
49    "EventName": "CPU_CLK_UNHALTED.REF_TSC",
50    "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency. (Fixed event)",
51    "PublicDescription": "Counts the number of reference cycles that the core is not in a halt state. The core enters the halt state when it is running the HLT instruction.  The core frequency may change from time.  This event is not affected by core frequency changes and at a fixed frequency.  This event uses fixed counter 2.",
52    "Counter": "34",
53    "PEBScounters": "34",
54    "SampleAfterValue": "2000003",
55    "MSRIndex": "0x00",
56    "MSRValue": "0x00",
57    "CollectPEBSRecord": "2",
58    "CounterMask": "0",
59    "Invert": "0",
60    "AnyThread": "0",
61    "EdgeDetect": "0",
62    "PEBS": "0",
63    "Data_LA": "0",
64    "Errata": "0",
65    "Offcore": "0",
66    "PDIR_COUNTER": "na"
67  },
68  {
69    "EventCode": "0x08",
70    "UMask": "0x02",
71    "EventName": "DTLB_LOAD_MISSES.WALK_COMPLETED_4K",
72    "BriefDescription": "Counts the number of completed page walks due to a demand load DTLB miss to a 4K page.",
73    "PublicDescription": "Counts the number of page walks completed due to demand data loads (including SW prefetches) whose address translations missed in all TLB levels and were mapped to 4K pages.  The page walks can end with or without a page fault.",
74    "Counter": "0,1,2,3",
75    "PEBScounters": "0,1,2,3",
76    "SampleAfterValue": "200003",
77    "MSRIndex": "0x00",
78    "MSRValue": "0x00",
79    "CollectPEBSRecord": "2",
80    "CounterMask": "0",
81    "Invert": "0",
82    "AnyThread": "0",
83    "EdgeDetect": "0",
84    "PEBS": "0",
85    "Data_LA": "0",
86    "Errata": "0",
87    "Offcore": "0",
88    "PDIR_COUNTER": "na"
89  },
90  {
91    "EventCode": "0x08",
92    "UMask": "0x04",
93    "EventName": "DTLB_LOAD_MISSES.WALK_COMPLETED_2M_4M",
94    "BriefDescription": "Counts the number of completed page walks due to a demand load DTLB miss to a 2M or 4M page.",
95    "PublicDescription": "Counts the number of completed page walks due to a demand load (including SW prefetches) whose address translations missed in all TLB levels and were mapped to 2M or 4M pages.  The page walks can end with or without a page fault.",
96    "Counter": "0,1,2,3",
97    "PEBScounters": "0,1,2,3",
98    "SampleAfterValue": "200003",
99    "MSRIndex": "0x00",
100    "MSRValue": "0x00",
101    "CollectPEBSRecord": "2",
102    "CounterMask": "0",
103    "Invert": "0",
104    "AnyThread": "0",
105    "EdgeDetect": "0",
106    "PEBS": "0",
107    "Data_LA": "0",
108    "Errata": "0",
109    "Offcore": "0",
110    "PDIR_COUNTER": "na"
111  },
112  {
113    "EventCode": "0x2e",
114    "UMask": "0x41",
115    "EventName": "LONGEST_LAT_CACHE.MISS",
116    "BriefDescription": "Counts the number of memory requests that miss in the last level cache. If the platform has an L3 cache, last level cache is the L3, otherwise it is the L2 cache.  Counts on a per core basis.",
117    "PublicDescription": "Counts the number of memory requests that miss in the last level cache. If the platform has an L3 cache, last level cache is the L3, otherwise it is the L2 cache.  Counts on a per core basis.",
118    "Counter": "0,1,2,3",
119    "PEBScounters": "0,1,2,3",
120    "SampleAfterValue": "200003",
121    "MSRIndex": "0x00",
122    "MSRValue": "0x00",
123    "CollectPEBSRecord": "2",
124    "CounterMask": "0",
125    "Invert": "0",
126    "AnyThread": "0",
127    "EdgeDetect": "0",
128    "PEBS": "0",
129    "Data_LA": "0",
130    "Errata": "0",
131    "Offcore": "0",
132    "PDIR_COUNTER": "na"
133  },
134  {
135    "EventCode": "0x2e",
136    "UMask": "0x4f",
137    "EventName": "LONGEST_LAT_CACHE.REFERENCE",
138    "BriefDescription": "Counts the number of memory requests that reference a cache line in the last level cache. If the platform has an L3 cache, last level cache is the L3, otherwise it is the L2 cache.  Counts on a per core basis.",
139    "PublicDescription": "Counts cacheable memory requests that access the Last Level Cache.  Requests include Demand Loads, Reads for Ownership(RFO), Instruction fetches and L1 HW prefetches. If the platform has an L3 cache, last level cache is the L3, otherwise it is the L2.",
140    "Counter": "0,1,2,3",
141    "PEBScounters": "0,1,2,3",
142    "SampleAfterValue": "200003",
143    "MSRIndex": "0x00",
144    "MSRValue": "0x00",
145    "CollectPEBSRecord": "2",
146    "CounterMask": "0",
147    "Invert": "0",
148    "AnyThread": "0",
149    "EdgeDetect": "0",
150    "PEBS": "0",
151    "Data_LA": "0",
152    "Errata": "0",
153    "Offcore": "0",
154    "PDIR_COUNTER": "na"
155  },
156  {
157    "EventCode": "0x3c",
158    "UMask": "0x00",
159    "EventName": "CPU_CLK_UNHALTED.CORE_P",
160    "BriefDescription": "Counts the number of unhalted core clock cycles.",
161    "PublicDescription": "Counts the number of core cycles while the core is not in a halt state.  The core enters the halt state when it is running the HLT instruction. The core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time.  This event uses a programmable general purpose performance counter.",
162    "Counter": "0,1,2,3",
163    "PEBScounters": "0,1,2,3",
164    "SampleAfterValue": "2000003",
165    "MSRIndex": "0x00",
166    "MSRValue": "0x00",
167    "CollectPEBSRecord": "2",
168    "CounterMask": "0",
169    "Invert": "0",
170    "AnyThread": "0",
171    "EdgeDetect": "0",
172    "PEBS": "0",
173    "Data_LA": "0",
174    "Errata": "0",
175    "Offcore": "0",
176    "PDIR_COUNTER": "na"
177  },
178  {
179    "EventCode": "0x3c",
180    "UMask": "0x01",
181    "EventName": "CPU_CLK_UNHALTED.REF",
182    "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency.",
183    "PublicDescription": "Counts reference cycles (at TSC frequency) when core is not halted.  This event uses a programmable general purpose perfmon counter.",
184    "Counter": "0,1,2,3",
185    "PEBScounters": "0,1,2,3",
186    "SampleAfterValue": "2000003",
187    "MSRIndex": "0x00",
188    "MSRValue": "0x00",
189    "CollectPEBSRecord": "2",
190    "CounterMask": "0",
191    "Invert": "0",
192    "AnyThread": "0",
193    "EdgeDetect": "0",
194    "PEBS": "0",
195    "Data_LA": "0",
196    "Errata": "0",
197    "Offcore": "0",
198    "PDIR_COUNTER": "na"
199  },
200  {
201    "EventCode": "0x49",
202    "UMask": "0x02",
203    "EventName": "DTLB_STORE_MISSES.WALK_COMPLETED_4K",
204    "BriefDescription": "Counts the number of page walks completed due to a demand data store to a 4K page.",
205    "PublicDescription": "Counts page walks completed due to demand data stores whose address translations missed in the TLB and were mapped to 4K pages.  The page walks can end with or without a page fault.",
206    "Counter": "0,1,2,3",
207    "PEBScounters": "0,1,2,3",
208    "SampleAfterValue": "2000003",
209    "MSRIndex": "0x00",
210    "MSRValue": "0x00",
211    "CollectPEBSRecord": "2",
212    "CounterMask": "0",
213    "Invert": "0",
214    "AnyThread": "0",
215    "EdgeDetect": "0",
216    "PEBS": "0",
217    "Data_LA": "0",
218    "Errata": "0",
219    "Offcore": "0",
220    "PDIR_COUNTER": "na"
221  },
222  {
223    "EventCode": "0x49",
224    "UMask": "0x04",
225    "EventName": "DTLB_STORE_MISSES.WALK_COMPLETED_2M_4M",
226    "BriefDescription": "Counts the number of page walks completed due to a demand data store to a 2M or 4M page.",
227    "PublicDescription": "Counts the number of page walks completed due to demand data stores whose address translations missed in the TLB and were mapped to 2M or 4M pages.  The page walks can end with or without a page fault.",
228    "Counter": "0,1,2,3",
229    "PEBScounters": "0,1,2,3",
230    "SampleAfterValue": "2000003",
231    "MSRIndex": "0x00",
232    "MSRValue": "0x00",
233    "CollectPEBSRecord": "2",
234    "CounterMask": "0",
235    "Invert": "0",
236    "AnyThread": "0",
237    "EdgeDetect": "0",
238    "PEBS": "0",
239    "Data_LA": "0",
240    "Errata": "0",
241    "Offcore": "0",
242    "PDIR_COUNTER": "na"
243  },
244  {
245    "EventCode": "0x71",
246    "UMask": "0x00",
247    "EventName": "TOPDOWN_FE_BOUND.ALL",
248    "BriefDescription": "Counts the number of retirement slots not consumed due to front end stalls",
249    "PublicDescription": "tbd",
250    "Counter": "0,1,2,3",
251    "PEBScounters": "0,1,2,3",
252    "SampleAfterValue": "1000003",
253    "MSRIndex": "0x00",
254    "MSRValue": "0x00",
255    "CollectPEBSRecord": "2",
256    "CounterMask": "0",
257    "Invert": "0",
258    "AnyThread": "0",
259    "EdgeDetect": "0",
260    "PEBS": "0",
261    "Data_LA": "0",
262    "Errata": "0",
263    "Offcore": "0",
264    "PDIR_COUNTER": "na"
265  },
266  {
267    "EventCode": "0x73",
268    "UMask": "0x06",
269    "EventName": "TOPDOWN_BAD_SPECULATION.ALL",
270    "BriefDescription": "Counts the number of issue slots that were not consumed by the backend because allocation is stalled due to a mispredicted jump or a machine clear. Only issue slots wasted due to Fast Nukes such as MOnukes are counted. Other nukes are not accounted for.",
271    "PublicDescription": "Counts the number of issue slots that were not consumed by the backend because allocation is stalled due to a mispredicted jump or a machine clear.  Counts all issue slots blocked during this recovery window including relevant microcode flows and while uops are not yet available in the IQ. Also, includes the issue slots that were consumed by the backend but were thrown away because they were younger than the mispredict or machine clear.",
272    "Counter": "0,1,2,3",
273    "PEBScounters": "0,1,2,3",
274    "SampleAfterValue": "1000003",
275    "MSRIndex": "0x00",
276    "MSRValue": "0x00",
277    "CollectPEBSRecord": "2",
278    "CounterMask": "0",
279    "Invert": "0",
280    "AnyThread": "0",
281    "EdgeDetect": "0",
282    "PEBS": "0",
283    "Data_LA": "0",
284    "Errata": "0",
285    "Offcore": "0",
286    "PDIR_COUNTER": "na"
287  },
288  {
289    "EventCode": "0x74",
290    "UMask": "0x00",
291    "EventName": "TOPDOWN_BE_BOUND.ALL",
292    "BriefDescription": "Counts the number of retirement slots not consumed due to backend stalls",
293    "PublicDescription": "tbd",
294    "Counter": "0,1,2,3",
295    "PEBScounters": "0,1,2,3",
296    "SampleAfterValue": "1000003",
297    "MSRIndex": "0x00",
298    "MSRValue": "0x00",
299    "CollectPEBSRecord": "2",
300    "CounterMask": "0",
301    "Invert": "0",
302    "AnyThread": "0",
303    "EdgeDetect": "0",
304    "PEBS": "0",
305    "Data_LA": "0",
306    "Errata": "0",
307    "Offcore": "0",
308    "PDIR_COUNTER": "na"
309  },
310  {
311    "EventCode": "0x80",
312    "UMask": "0x02",
313    "EventName": "ICACHE.MISSES",
314    "BriefDescription": "Counts the number of requests to the Instruction Cache (ICache) for one or more bytes in a cache line that do not hit in the ICache (miss).",
315    "PublicDescription": "Counts requests to the Instruction Cache (ICache)  for one or more bytes in an ICache Line and that cache line is not in the ICache (miss).  The event strives to count on a cache line basis, so that multiple accesses which miss in a single cache line count as one ICACHE.MISS.  Specifically, the event counts when straight line code crosses the cache line boundary, or when a branch target is to a new line, and that cache line is not in the ICache.",
316    "Counter": "0,1,2,3",
317    "PEBScounters": "0,1,2,3",
318    "SampleAfterValue": "200003",
319    "MSRIndex": "0x00",
320    "MSRValue": "0x00",
321    "CollectPEBSRecord": "2",
322    "CounterMask": "0",
323    "Invert": "0",
324    "AnyThread": "0",
325    "EdgeDetect": "0",
326    "PEBS": "0",
327    "Data_LA": "0",
328    "Errata": "0",
329    "Offcore": "0",
330    "PDIR_COUNTER": "na"
331  },
332  {
333    "EventCode": "0x80",
334    "UMask": "0x03",
335    "EventName": "ICACHE.ACCESSES",
336    "BriefDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes cache Line.",
337    "PublicDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes in an ICache Line.  The event strives to count on a cache line basis, so that multiple fetches to a single cache line count as one ICACHE.ACCESS.  Specifically, the event counts when accesses from straight line code crosses the cache line boundary, or when a branch target is to a new line.",
338    "Counter": "0,1,2,3",
339    "PEBScounters": "0,1,2,3",
340    "SampleAfterValue": "200003",
341    "MSRIndex": "0x00",
342    "MSRValue": "0x00",
343    "CollectPEBSRecord": "2",
344    "CounterMask": "0",
345    "Invert": "0",
346    "AnyThread": "0",
347    "EdgeDetect": "0",
348    "PEBS": "0",
349    "Data_LA": "0",
350    "Errata": "0",
351    "Offcore": "0",
352    "PDIR_COUNTER": "na"
353  },
354  {
355    "EventCode": "0x81",
356    "UMask": "0x04",
357    "EventName": "ITLB.FILLS",
358    "BriefDescription": "Counts the number of times there was an ITLB miss and a new translation was filled into the ITLB.",
359    "PublicDescription": "Counts the number of times the machine was unable to find a translation in the Instruction Translation Lookaside Buffer (ITLB) and new translation was filled into the ITLB.  The event is speculative in nature, but will not count translations (page walks) that are begun and not finished, or translations that are finished but not filled into the ITLB.",
360    "Counter": "0,1,2,3",
361    "PEBScounters": "0,1,2,3",
362    "SampleAfterValue": "200003",
363    "MSRIndex": "0x00",
364    "MSRValue": "0x00",
365    "CollectPEBSRecord": "2",
366    "CounterMask": "0",
367    "Invert": "0",
368    "AnyThread": "0",
369    "EdgeDetect": "0",
370    "PEBS": "0",
371    "Data_LA": "0",
372    "Errata": "0",
373    "Offcore": "0",
374    "PDIR_COUNTER": "na"
375  },
376  {
377    "EventCode": "0x85",
378    "UMask": "0x02",
379    "EventName": "ITLB_MISSES.WALK_COMPLETED_4K",
380    "BriefDescription": "Page walk completed due to an instruction fetch in a 4K page.",
381    "PublicDescription": "Counts page walks completed due to instruction fetches whose address translations missed in the TLB and were mapped to 4K pages.  The page walks can end with or without a page fault.",
382    "Counter": "0,1,2,3",
383    "PEBScounters": "0,1,2,3",
384    "SampleAfterValue": "2000003",
385    "MSRIndex": "0x00",
386    "MSRValue": "0x00",
387    "CollectPEBSRecord": "2",
388    "CounterMask": "0",
389    "Invert": "0",
390    "AnyThread": "0",
391    "EdgeDetect": "0",
392    "PEBS": "0",
393    "Data_LA": "0",
394    "Errata": "0",
395    "Offcore": "0",
396    "PDIR_COUNTER": "na"
397  },
398  {
399    "EventCode": "0x85",
400    "UMask": "0x04",
401    "EventName": "ITLB_MISSES.WALK_COMPLETED_2M_4M",
402    "BriefDescription": "Page walk completed due to an instruction fetch in a 2M or 4M page.",
403    "PublicDescription": "Counts page walks completed due to instruction fetches whose address translations missed in the TLB and were mapped to 2M or 4M pages.  The page walks can end with or without a page fault.",
404    "Counter": "0,1,2,3",
405    "PEBScounters": "0,1,2,3",
406    "SampleAfterValue": "2000003",
407    "MSRIndex": "0x00",
408    "MSRValue": "0x00",
409    "CollectPEBSRecord": "2",
410    "CounterMask": "0",
411    "Invert": "0",
412    "AnyThread": "0",
413    "EdgeDetect": "0",
414    "PEBS": "0",
415    "Data_LA": "0",
416    "Errata": "0",
417    "Offcore": "0",
418    "PDIR_COUNTER": "na"
419  },
420  {
421    "EventCode": "0xc0",
422    "UMask": "0x00",
423    "EventName": "INST_RETIRED.ANY_P",
424    "BriefDescription": "Counts the number of instructions retired.",
425    "PublicDescription": "Counts the number of instructions that retire execution. For instructions that consist of multiple uops, this event counts the retirement of the last uop of the instruction. The event continues counting during hardware interrupts, traps, and inside interrupt handlers.  This is an architectural performance event.  This event uses a Programmable general purpose perfmon counter. *This event is Precise Event capable:  The EventingRIP field in the PEBS record is precise to the address of the instruction which caused the event.",
426    "Counter": "0,1,2,3",
427    "PEBScounters": "0,1,2,3",
428    "SampleAfterValue": "2000003",
429    "MSRIndex": "0x00",
430    "MSRValue": "0x00",
431    "CollectPEBSRecord": "2",
432    "CounterMask": "0",
433    "Invert": "0",
434    "AnyThread": "0",
435    "EdgeDetect": "0",
436    "PEBS": "1",
437    "Data_LA": "0",
438    "Errata": "0",
439    "Offcore": "0",
440    "PDIR_COUNTER": "0"
441  },
442  {
443    "EventCode": "0xc2",
444    "UMask": "0x00",
445    "EventName": "TOPDOWN_RETIRING.ALL",
446    "BriefDescription": "Count the number of uops retired",
447    "PublicDescription": "Count the number of uops retired",
448    "Counter": "0,1,2,3",
449    "PEBScounters": "0,1,2,3",
450    "SampleAfterValue": "1000003",
451    "MSRIndex": "0x00",
452    "MSRValue": "0x00",
453    "CollectPEBSRecord": "2",
454    "CounterMask": "0",
455    "Invert": "0",
456    "AnyThread": "0",
457    "EdgeDetect": "0",
458    "PEBS": "1",
459    "Data_LA": "0",
460    "Errata": "0",
461    "Offcore": "0",
462    "PDIR_COUNTER": "0"
463  },
464  {
465    "EventCode": "0xc3",
466    "UMask": "0x00",
467    "EventName": "MACHINE_CLEARS.ANY",
468    "BriefDescription": "Counts all machine clears due to, but not limited to memory ordering, memory disambiguation, SMC, page faults and FP assist.",
469    "PublicDescription": "Counts all machine clears due to, but not limited to memory ordering, memory disambiguation, SMC, page faults and FP assist.",
470    "Counter": "0,1,2,3",
471    "PEBScounters": "0,1,2,3",
472    "SampleAfterValue": "20003",
473    "MSRIndex": "0x00",
474    "MSRValue": "0x00",
475    "CollectPEBSRecord": "2",
476    "CounterMask": "0",
477    "Invert": "0",
478    "AnyThread": "0",
479    "EdgeDetect": "0",
480    "PEBS": "0",
481    "Data_LA": "0",
482    "Errata": "0",
483    "Offcore": "0",
484    "PDIR_COUNTER": "na"
485  },
486  {
487    "EventCode": "0xc4",
488    "UMask": "0x00",
489    "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
490    "BriefDescription": "Counts the number of branch instructions retired for all branch types.",
491    "PublicDescription": "Counts branch instructions retired for all branch types. This event is Precise Event capable. This is an architectural event.",
492    "Counter": "0,1,2,3",
493    "PEBScounters": "0,1,2,3",
494    "SampleAfterValue": "200003",
495    "MSRIndex": "0x00",
496    "MSRValue": "0x00",
497    "CollectPEBSRecord": "2",
498    "CounterMask": "0",
499    "Invert": "0",
500    "AnyThread": "0",
501    "EdgeDetect": "0",
502    "PEBS": "1",
503    "Data_LA": "0",
504    "Errata": "0",
505    "Offcore": "0",
506    "PDIR_COUNTER": "0"
507  },
508  {
509    "EventCode": "0xc5",
510    "UMask": "0x00",
511    "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
512    "BriefDescription": "Counts the number of mispredicted branch instructions retired.",
513    "PublicDescription": "Counts the number of mispredicted branch instructions retired for all branch types. This event is Precise Event capable. This is an architectural event.",
514    "Counter": "0,1,2,3",
515    "PEBScounters": "0,1,2,3",
516    "SampleAfterValue": "200003",
517    "MSRIndex": "0x00",
518    "MSRValue": "0x00",
519    "CollectPEBSRecord": "2",
520    "CounterMask": "0",
521    "Invert": "0",
522    "AnyThread": "0",
523    "EdgeDetect": "0",
524    "PEBS": "1",
525    "Data_LA": "0",
526    "Errata": "0",
527    "Offcore": "0",
528    "PDIR_COUNTER": "0"
529  },
530  {
531    "EventCode": "0xcd",
532    "UMask": "0x00",
533    "EventName": "CYCLES_DIV_BUSY.ANY",
534    "BriefDescription": "Counts cycles the floating point divider or integer divider or both are busy.  Does not imply a stall waiting for either divider.",
535    "PublicDescription": "Counts cycles the floating point divider or integer divider or both are busy.  Does not imply a stall waiting for either divider.",
536    "Counter": "0,1,2,3",
537    "PEBScounters": "0,1,2,3",
538    "SampleAfterValue": "2000003",
539    "MSRIndex": "0x00",
540    "MSRValue": "0x00",
541    "CollectPEBSRecord": "2",
542    "CounterMask": "0",
543    "Invert": "0",
544    "AnyThread": "0",
545    "EdgeDetect": "0",
546    "PEBS": "0",
547    "Data_LA": "0",
548    "Errata": "0",
549    "Offcore": "0",
550    "PDIR_COUNTER": "na"
551  },
552  {
553    "EventCode": "0xd0",
554    "UMask": "0x81",
555    "EventName": "MEM_UOPS_RETIRED.ALL_LOADS",
556    "BriefDescription": "Counts the number of load uops retired.",
557    "PublicDescription": "Counts the number of load uops retired. This event is Precise Event capable",
558    "Counter": "0,1,2,3",
559    "PEBScounters": "0,1,2,3",
560    "SampleAfterValue": "200003",
561    "MSRIndex": "0x00",
562    "MSRValue": "0x00",
563    "CollectPEBSRecord": "2",
564    "CounterMask": "0",
565    "Invert": "0",
566    "AnyThread": "0",
567    "EdgeDetect": "0",
568    "PEBS": "1",
569    "Data_LA": "1",
570    "Errata": "0",
571    "Offcore": "0",
572    "PDIR_COUNTER": "0"
573  },
574  {
575    "EventCode": "0xd0",
576    "UMask": "0x82",
577    "EventName": "MEM_UOPS_RETIRED.ALL_STORES",
578    "BriefDescription": "Counts the number of store uops retired.",
579    "PublicDescription": "Counts the number of store uops retired. This event is Precise Event capable",
580    "Counter": "0,1,2,3",
581    "PEBScounters": "0,1,2,3",
582    "SampleAfterValue": "200003",
583    "MSRIndex": "0x00",
584    "MSRValue": "0x00",
585    "CollectPEBSRecord": "2",
586    "CounterMask": "0",
587    "Invert": "0",
588    "AnyThread": "0",
589    "EdgeDetect": "0",
590    "PEBS": "1",
591    "Data_LA": "1",
592    "Errata": "0",
593    "Offcore": "0",
594    "PDIR_COUNTER": "0"
595  },
596  {
597    "EventCode": "0xd1",
598    "UMask": "0x01",
599    "EventName": "MEM_LOAD_UOPS_RETIRED.L1_HIT",
600    "BriefDescription": "Counts the number of load uops retired that hit the level 1 data cache",
601    "PublicDescription": "Counts the number of load uops retired that hit the level 1 data cache",
602    "Counter": "0,1,2,3",
603    "PEBScounters": "0,1,2,3",
604    "SampleAfterValue": "200003",
605    "MSRIndex": "0x00",
606    "MSRValue": "0x00",
607    "CollectPEBSRecord": "2",
608    "CounterMask": "0",
609    "Invert": "0",
610    "AnyThread": "0",
611    "EdgeDetect": "0",
612    "PEBS": "1",
613    "Data_LA": "1",
614    "Errata": "0",
615    "Offcore": "0",
616    "PDIR_COUNTER": "0"
617  },
618  {
619    "EventCode": "0xd1",
620    "UMask": "0x02",
621    "EventName": "MEM_LOAD_UOPS_RETIRED.L2_HIT",
622    "BriefDescription": "Counts the number of load uops retired that hit in the level 2 cache",
623    "PublicDescription": "Counts the number of load uops retired that hit in the level 2 cache",
624    "Counter": "0,1,2,3",
625    "PEBScounters": "0,1,2,3",
626    "SampleAfterValue": "200003",
627    "MSRIndex": "0x00",
628    "MSRValue": "0x00",
629    "CollectPEBSRecord": "2",
630    "CounterMask": "0",
631    "Invert": "0",
632    "AnyThread": "0",
633    "EdgeDetect": "0",
634    "PEBS": "1",
635    "Data_LA": "1",
636    "Errata": "0",
637    "Offcore": "0",
638    "PDIR_COUNTER": "0"
639  },
640  {
641    "EventCode": "0xd1",
642    "UMask": "0x04",
643    "EventName": "MEM_LOAD_UOPS_RETIRED.L3_HIT",
644    "BriefDescription": "Counts the number of load uops retired that miss in the level 3 cache",
645    "PublicDescription": "Counts the number of load uops retired that miss in the level 3 cache",
646    "Counter": "0,1,2,3",
647    "PEBScounters": "0,1,2,3",
648    "SampleAfterValue": "200003",
649    "MSRIndex": "0x00",
650    "MSRValue": "0x00",
651    "CollectPEBSRecord": "2",
652    "CounterMask": "0",
653    "Invert": "0",
654    "AnyThread": "0",
655    "EdgeDetect": "0",
656    "PEBS": "1",
657    "Data_LA": "0",
658    "Errata": "0",
659    "Offcore": "0",
660    "PDIR_COUNTER": "0"
661  },
662  {
663    "EventCode": "0xd1",
664    "UMask": "0x08",
665    "EventName": "MEM_LOAD_UOPS_RETIRED.L1_MISS",
666    "BriefDescription": "Counts the number of load uops retired that miss in the level 1 data cache",
667    "PublicDescription": "Counts the number of load uops retired that miss in the level 1 data cache",
668    "Counter": "0,1,2,3",
669    "PEBScounters": "0,1,2,3",
670    "SampleAfterValue": "200003",
671    "MSRIndex": "0x00",
672    "MSRValue": "0x00",
673    "CollectPEBSRecord": "2",
674    "CounterMask": "0",
675    "Invert": "0",
676    "AnyThread": "0",
677    "EdgeDetect": "0",
678    "PEBS": "1",
679    "Data_LA": "1",
680    "Errata": "0",
681    "Offcore": "0",
682    "PDIR_COUNTER": "0"
683  },
684  {
685    "EventCode": "0xd1",
686    "UMask": "0x10",
687    "EventName": "MEM_LOAD_UOPS_RETIRED.L2_MISS",
688    "BriefDescription": "Counts the number of load uops retired that miss in the level 2 cache",
689    "PublicDescription": "Counts the number of load uops retired that miss in the level 2 cache",
690    "Counter": "0,1,2,3",
691    "PEBScounters": "0,1,2,3",
692    "SampleAfterValue": "200003",
693    "MSRIndex": "0x00",
694    "MSRValue": "0x00",
695    "CollectPEBSRecord": "2",
696    "CounterMask": "0",
697    "Invert": "0",
698    "AnyThread": "0",
699    "EdgeDetect": "0",
700    "PEBS": "1",
701    "Data_LA": "1",
702    "Errata": "0",
703    "Offcore": "0",
704    "PDIR_COUNTER": "0"
705  },
706  {
707    "EventCode": "0XB7",
708    "UMask": "0x01,0x02",
709    "EventName": "OCR.DEMAND_DATA_RD.ANY_RESPONSE",
710    "BriefDescription": "This event is deprecated. Refer to new event OCR.DEMAND_DATA_AND_L1PF_RD.ANY_RESPONSE",
711    "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
712    "Counter": "0,1,2,3",
713    "PEBScounters": "0",
714    "SampleAfterValue": "100003",
715    "MSRIndex": "0x1a6,0x1a7",
716    "MSRValue": "0x0000000000010001",
717    "CollectPEBSRecord": "0",
718    "CounterMask": "0",
719    "Invert": "0",
720    "AnyThread": "0",
721    "EdgeDetect": "0",
722    "PEBS": "0",
723    "Data_LA": "0",
724    "Errata": "null",
725    "Offcore": "1",
726    "PDIR_COUNTER": "0"
727  },
728  {
729    "EventCode": "0XB7",
730    "UMask": "0x01,0x02",
731    "EventName": "OCR.DEMAND_DATA_RD.L3_MISS",
732    "BriefDescription": "This event is deprecated. Refer to new event OCR.DEMAND_DATA_AND_L1PF_RD.L3_MISS",
733    "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
734    "Counter": "0,1,2,3",
735    "PEBScounters": "0",
736    "SampleAfterValue": "100003",
737    "MSRIndex": "0x1a6,0x1a7",
738    "MSRValue": "0x0000003F04000001",
739    "CollectPEBSRecord": "0",
740    "CounterMask": "0",
741    "Invert": "0",
742    "AnyThread": "0",
743    "EdgeDetect": "0",
744    "PEBS": "0",
745    "Data_LA": "0",
746    "Errata": "null",
747    "Offcore": "1",
748    "PDIR_COUNTER": "0"
749  },
750  {
751    "EventCode": "0XB7",
752    "UMask": "0x01,0x02",
753    "EventName": "OCR.DEMAND_RFO.ANY_RESPONSE",
754    "BriefDescription": "Counts demand reads for ownership (RFO) and software prefetches for exclusive ownership (PREFETCHW) that have any type of response.",
755    "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
756    "Counter": "0,1,2,3",
757    "PEBScounters": "0",
758    "SampleAfterValue": "100003",
759    "MSRIndex": "0x1a6,0x1a7",
760    "MSRValue": "0x0000000000010002",
761    "CollectPEBSRecord": "0",
762    "CounterMask": "0",
763    "Invert": "0",
764    "AnyThread": "0",
765    "EdgeDetect": "0",
766    "PEBS": "0",
767    "Data_LA": "0",
768    "Errata": "null",
769    "Offcore": "1",
770    "PDIR_COUNTER": "0"
771  },
772  {
773    "EventCode": "0XB7",
774    "UMask": "0x01,0x02",
775    "EventName": "OCR.DEMAND_RFO.L3_MISS",
776    "BriefDescription": "Counts demand reads for ownership (RFO) and software prefetches for exclusive ownership (PREFETCHW) that were not supplied by the L3 cache.",
777    "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
778    "Counter": "0,1,2,3",
779    "PEBScounters": "0",
780    "SampleAfterValue": "100003",
781    "MSRIndex": "0x1a6,0x1a7",
782    "MSRValue": "0x0000003F04000002",
783    "CollectPEBSRecord": "0",
784    "CounterMask": "0",
785    "Invert": "0",
786    "AnyThread": "0",
787    "EdgeDetect": "0",
788    "PEBS": "0",
789    "Data_LA": "0",
790    "Errata": "null",
791    "Offcore": "1",
792    "PDIR_COUNTER": "0"
793  }
794]