1*cdb29a8fSJin Yao[
2*cdb29a8fSJin Yao    {
3*cdb29a8fSJin Yao        "BriefDescription": "Number of times a transactional abort was signaled due to a data conflict on a transactionally accessed address",
4*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
5*cdb29a8fSJin Yao        "Counter": "0,1,2,3",
6*cdb29a8fSJin Yao        "EventCode": "0x54",
7*cdb29a8fSJin Yao        "EventName": "TX_MEM.ABORT_CONFLICT",
8*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
9*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times a TSX line had a cache conflict.",
10*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
11*cdb29a8fSJin Yao        "Speculative": "1",
12*cdb29a8fSJin Yao        "UMask": "0x1"
13*cdb29a8fSJin Yao    },
14*cdb29a8fSJin Yao    {
15*cdb29a8fSJin Yao        "BriefDescription": "Speculatively counts the number of TSX aborts due to a data capacity limitation for transactional writes.",
16*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
17*cdb29a8fSJin Yao        "Counter": "0,1,2,3",
18*cdb29a8fSJin Yao        "EventCode": "0x54",
19*cdb29a8fSJin Yao        "EventName": "TX_MEM.ABORT_CAPACITY_WRITE",
20*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
21*cdb29a8fSJin Yao        "PublicDescription": "Speculatively counts the number of Transactional Synchronization Extensions (TSX) aborts due to a data capacity limitation for transactional writes.",
22*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
23*cdb29a8fSJin Yao        "Speculative": "1",
24*cdb29a8fSJin Yao        "UMask": "0x2"
25*cdb29a8fSJin Yao    },
26*cdb29a8fSJin Yao    {
27*cdb29a8fSJin Yao        "BriefDescription": "Speculatively counts the number of TSX aborts due to a data capacity limitation for transactional reads",
28*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
29*cdb29a8fSJin Yao        "Counter": "0,1,2,3",
30*cdb29a8fSJin Yao        "EventCode": "0x54",
31*cdb29a8fSJin Yao        "EventName": "TX_MEM.ABORT_CAPACITY_READ",
32*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
33*cdb29a8fSJin Yao        "PublicDescription": "Speculatively counts the number of Transactional Synchronization Extensions (TSX) aborts due to a data capacity limitation for transactional reads",
34*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
35*cdb29a8fSJin Yao        "Speculative": "1",
36*cdb29a8fSJin Yao        "UMask": "0x80"
37*cdb29a8fSJin Yao    },
38*cdb29a8fSJin Yao    {
39*cdb29a8fSJin Yao        "BriefDescription": "Counts the number of times a class of instructions that may cause a transactional abort was executed inside a transactional region",
40*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
41*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
42*cdb29a8fSJin Yao        "EventCode": "0x5d",
43*cdb29a8fSJin Yao        "EventName": "TX_EXEC.MISC2",
44*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
45*cdb29a8fSJin Yao        "PublicDescription": "Counts Unfriendly TSX abort triggered by a vzeroupper instruction.",
46*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
47*cdb29a8fSJin Yao        "Speculative": "1",
48*cdb29a8fSJin Yao        "UMask": "0x2"
49*cdb29a8fSJin Yao    },
50*cdb29a8fSJin Yao    {
51*cdb29a8fSJin Yao        "BriefDescription": "Number of times an instruction execution caused the transactional nest count supported to be exceeded",
52*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
53*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
54*cdb29a8fSJin Yao        "EventCode": "0x5d",
55*cdb29a8fSJin Yao        "EventName": "TX_EXEC.MISC3",
56*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
57*cdb29a8fSJin Yao        "PublicDescription": "Counts Unfriendly TSX abort triggered by a nest count that is too deep.",
58*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
59*cdb29a8fSJin Yao        "Speculative": "1",
60*cdb29a8fSJin Yao        "UMask": "0x4"
61*cdb29a8fSJin Yao    },
62*cdb29a8fSJin Yao    {
63*cdb29a8fSJin Yao        "BriefDescription": "Execution stalls while L3 cache miss demand load is outstanding.",
64*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
65*cdb29a8fSJin Yao        "Counter": "0,1,2,3",
66*cdb29a8fSJin Yao        "CounterMask": "6",
67*cdb29a8fSJin Yao        "EventCode": "0xa3",
68*cdb29a8fSJin Yao        "EventName": "CYCLE_ACTIVITY.STALLS_L3_MISS",
69*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
70*cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
71*cdb29a8fSJin Yao        "Speculative": "1",
72*cdb29a8fSJin Yao        "UMask": "0x6"
73*cdb29a8fSJin Yao    },
74*cdb29a8fSJin Yao    {
75*cdb29a8fSJin Yao        "BriefDescription": "Number of machine clears due to memory ordering conflicts.",
76*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
77*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
78*cdb29a8fSJin Yao        "EventCode": "0xc3",
79*cdb29a8fSJin Yao        "EventName": "MACHINE_CLEARS.MEMORY_ORDERING",
80*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
81*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of Machine Clears detected dye to memory ordering. Memory Ordering Machine Clears may apply when a memory read may not conform to the memory ordering rules of the x86 architecture",
82*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
83*cdb29a8fSJin Yao        "Speculative": "1",
84*cdb29a8fSJin Yao        "UMask": "0x2"
85*cdb29a8fSJin Yao    },
86*cdb29a8fSJin Yao    {
87*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution started.",
88*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
89*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
90*cdb29a8fSJin Yao        "EventCode": "0xc9",
91*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.START",
92*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
93*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times we entered an RTM region. Does not count nested transactions.",
94*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
95*cdb29a8fSJin Yao        "UMask": "0x1"
96*cdb29a8fSJin Yao    },
97*cdb29a8fSJin Yao    {
98*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution successfully committed",
99*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
100*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
101*cdb29a8fSJin Yao        "EventCode": "0xc9",
102*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.COMMIT",
103*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
104*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times RTM commit succeeded.",
105*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
106*cdb29a8fSJin Yao        "UMask": "0x2"
107*cdb29a8fSJin Yao    },
108*cdb29a8fSJin Yao    {
109*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution aborted.",
110*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
111*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
112*cdb29a8fSJin Yao        "EventCode": "0xc9",
113*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.ABORTED",
114*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
115*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times RTM abort was triggered.",
116*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
117*cdb29a8fSJin Yao        "UMask": "0x4"
118*cdb29a8fSJin Yao    },
119*cdb29a8fSJin Yao    {
120*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution aborted due to various memory events (e.g. read/write capacity and conflicts)",
121*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
122*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
123*cdb29a8fSJin Yao        "EventCode": "0xc9",
124*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.ABORTED_MEM",
125*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
126*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times an RTM execution aborted due to various memory events (e.g. read/write capacity and conflicts).",
127*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
128*cdb29a8fSJin Yao        "UMask": "0x8"
129*cdb29a8fSJin Yao    },
130*cdb29a8fSJin Yao    {
131*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution aborted due to HLE-unfriendly instructions",
132*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
133*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
134*cdb29a8fSJin Yao        "EventCode": "0xc9",
135*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.ABORTED_UNFRIENDLY",
136*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
137*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times an RTM execution aborted due to HLE-unfriendly instructions.",
138*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
139*cdb29a8fSJin Yao        "UMask": "0x20"
140*cdb29a8fSJin Yao    },
141*cdb29a8fSJin Yao    {
142*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution aborted due to incompatible memory type",
143*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
144*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
145*cdb29a8fSJin Yao        "EventCode": "0xc9",
146*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.ABORTED_MEMTYPE",
147*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
148*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times an RTM execution aborted due to incompatible memory type.",
149*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
150*cdb29a8fSJin Yao        "UMask": "0x40"
151*cdb29a8fSJin Yao    },
152*cdb29a8fSJin Yao    {
153*cdb29a8fSJin Yao        "BriefDescription": "Number of times an RTM execution aborted due to none of the previous 4 categories (e.g. interrupt)",
154*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
155*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
156*cdb29a8fSJin Yao        "EventCode": "0xc9",
157*cdb29a8fSJin Yao        "EventName": "RTM_RETIRED.ABORTED_EVENTS",
158*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
159*cdb29a8fSJin Yao        "PublicDescription": "Counts the number of times an RTM execution aborted due to none of the previous 4 categories (e.g. interrupt).",
160*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
161*cdb29a8fSJin Yao        "UMask": "0x80"
162*cdb29a8fSJin Yao    },
163*cdb29a8fSJin Yao    {
164*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 4 cycles.",
165*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
166*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
167*cdb29a8fSJin Yao        "Data_LA": "1",
168*cdb29a8fSJin Yao        "EventCode": "0xcd",
169*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_4",
170*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
171*cdb29a8fSJin Yao        "MSRValue": "0x4",
172*cdb29a8fSJin Yao        "PEBS": "2",
173*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
174*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 4 cycles.  Reported latency may be longer than just the memory latency.",
175*cdb29a8fSJin Yao        "SampleAfterValue": "100003",
176*cdb29a8fSJin Yao        "TakenAlone": "1",
177*cdb29a8fSJin Yao        "UMask": "0x1"
178*cdb29a8fSJin Yao    },
179*cdb29a8fSJin Yao    {
180*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 8 cycles.",
181*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
182*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
183*cdb29a8fSJin Yao        "Data_LA": "1",
184*cdb29a8fSJin Yao        "EventCode": "0xcd",
185*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_8",
186*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
187*cdb29a8fSJin Yao        "MSRValue": "0x8",
188*cdb29a8fSJin Yao        "PEBS": "2",
189*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
190*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 8 cycles.  Reported latency may be longer than just the memory latency.",
191*cdb29a8fSJin Yao        "SampleAfterValue": "50021",
192*cdb29a8fSJin Yao        "TakenAlone": "1",
193*cdb29a8fSJin Yao        "UMask": "0x1"
194*cdb29a8fSJin Yao    },
195*cdb29a8fSJin Yao    {
196*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.",
197*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
198*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
199*cdb29a8fSJin Yao        "Data_LA": "1",
200*cdb29a8fSJin Yao        "EventCode": "0xcd",
201*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_16",
202*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
203*cdb29a8fSJin Yao        "MSRValue": "0x10",
204*cdb29a8fSJin Yao        "PEBS": "2",
205*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
206*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.  Reported latency may be longer than just the memory latency.",
207*cdb29a8fSJin Yao        "SampleAfterValue": "20011",
208*cdb29a8fSJin Yao        "TakenAlone": "1",
209*cdb29a8fSJin Yao        "UMask": "0x1"
210*cdb29a8fSJin Yao    },
211*cdb29a8fSJin Yao    {
212*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 32 cycles.",
213*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
214*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
215*cdb29a8fSJin Yao        "Data_LA": "1",
216*cdb29a8fSJin Yao        "EventCode": "0xcd",
217*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_32",
218*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
219*cdb29a8fSJin Yao        "MSRValue": "0x20",
220*cdb29a8fSJin Yao        "PEBS": "2",
221*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
222*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 32 cycles.  Reported latency may be longer than just the memory latency.",
223*cdb29a8fSJin Yao        "SampleAfterValue": "100007",
224*cdb29a8fSJin Yao        "TakenAlone": "1",
225*cdb29a8fSJin Yao        "UMask": "0x1"
226*cdb29a8fSJin Yao    },
227*cdb29a8fSJin Yao    {
228*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 64 cycles.",
229*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
230*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
231*cdb29a8fSJin Yao        "Data_LA": "1",
232*cdb29a8fSJin Yao        "EventCode": "0xcd",
233*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_64",
234*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
235*cdb29a8fSJin Yao        "MSRValue": "0x40",
236*cdb29a8fSJin Yao        "PEBS": "2",
237*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
238*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 64 cycles.  Reported latency may be longer than just the memory latency.",
239*cdb29a8fSJin Yao        "SampleAfterValue": "2003",
240*cdb29a8fSJin Yao        "TakenAlone": "1",
241*cdb29a8fSJin Yao        "UMask": "0x1"
242*cdb29a8fSJin Yao    },
243*cdb29a8fSJin Yao    {
244*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.",
245*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
246*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
247*cdb29a8fSJin Yao        "Data_LA": "1",
248*cdb29a8fSJin Yao        "EventCode": "0xcd",
249*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_128",
250*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
251*cdb29a8fSJin Yao        "MSRValue": "0x80",
252*cdb29a8fSJin Yao        "PEBS": "2",
253*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
254*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.  Reported latency may be longer than just the memory latency.",
255*cdb29a8fSJin Yao        "SampleAfterValue": "1009",
256*cdb29a8fSJin Yao        "TakenAlone": "1",
257*cdb29a8fSJin Yao        "UMask": "0x1"
258*cdb29a8fSJin Yao    },
259*cdb29a8fSJin Yao    {
260*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.",
261*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
262*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
263*cdb29a8fSJin Yao        "Data_LA": "1",
264*cdb29a8fSJin Yao        "EventCode": "0xcd",
265*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_256",
266*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
267*cdb29a8fSJin Yao        "MSRValue": "0x100",
268*cdb29a8fSJin Yao        "PEBS": "2",
269*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
270*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.  Reported latency may be longer than just the memory latency.",
271*cdb29a8fSJin Yao        "SampleAfterValue": "503",
272*cdb29a8fSJin Yao        "TakenAlone": "1",
273*cdb29a8fSJin Yao        "UMask": "0x1"
274*cdb29a8fSJin Yao    },
275*cdb29a8fSJin Yao    {
276*cdb29a8fSJin Yao        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 512 cycles.",
277*cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
278*cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
279*cdb29a8fSJin Yao        "Data_LA": "1",
280*cdb29a8fSJin Yao        "EventCode": "0xcd",
281*cdb29a8fSJin Yao        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_512",
282*cdb29a8fSJin Yao        "MSRIndex": "0x3F6",
283*cdb29a8fSJin Yao        "MSRValue": "0x200",
284*cdb29a8fSJin Yao        "PEBS": "2",
285*cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
286*cdb29a8fSJin Yao        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 512 cycles.  Reported latency may be longer than just the memory latency.",
287*cdb29a8fSJin Yao        "SampleAfterValue": "101",
288*cdb29a8fSJin Yao        "TakenAlone": "1",
289*cdb29a8fSJin Yao        "UMask": "0x1"
290*cdb29a8fSJin Yao    }
291*cdb29a8fSJin Yao]