17003f00fSAndi Kleen[
27003f00fSAndi Kleen    {
3bedd1738SZhengjun Xing        "BriefDescription": "pclk Cycles",
47003f00fSAndi Kleen        "EventName": "UNC_P_CLOCKTICKS",
57003f00fSAndi Kleen        "PerPkg": "1",
6*667433c4SIan Rogers        "PublicDescription": "The PCU runs off a fixed 800 MHz clock.  This event counts the number of pclk cycles measured while the counter was enabled.  The pclk, like the Memory Controller's dclk, counts at a constant rate making it a good measure of actual wall time.",
77003f00fSAndi Kleen        "Unit": "PCU"
87003f00fSAndi Kleen    },
97003f00fSAndi Kleen    {
10bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
11bedd1738SZhengjun Xing        "EventCode": "0x60",
12bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE0_TRANSITION_CYCLES",
137003f00fSAndi Kleen        "PerPkg": "1",
14*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
157003f00fSAndi Kleen        "Unit": "PCU"
167003f00fSAndi Kleen    },
177003f00fSAndi Kleen    {
18bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
19bedd1738SZhengjun Xing        "EventCode": "0x6A",
20bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE10_TRANSITION_CYCLES",
217003f00fSAndi Kleen        "PerPkg": "1",
22*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
237003f00fSAndi Kleen        "Unit": "PCU"
247003f00fSAndi Kleen    },
257003f00fSAndi Kleen    {
26bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
27bedd1738SZhengjun Xing        "EventCode": "0x6B",
28bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE11_TRANSITION_CYCLES",
297003f00fSAndi Kleen        "PerPkg": "1",
30*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
317003f00fSAndi Kleen        "Unit": "PCU"
327003f00fSAndi Kleen    },
337003f00fSAndi Kleen    {
34bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
35bedd1738SZhengjun Xing        "EventCode": "0x6C",
36bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE12_TRANSITION_CYCLES",
377003f00fSAndi Kleen        "PerPkg": "1",
38*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
397003f00fSAndi Kleen        "Unit": "PCU"
407003f00fSAndi Kleen    },
417003f00fSAndi Kleen    {
42bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
43bedd1738SZhengjun Xing        "EventCode": "0x6D",
44bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE13_TRANSITION_CYCLES",
45bedd1738SZhengjun Xing        "PerPkg": "1",
46*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
47bedd1738SZhengjun Xing        "Unit": "PCU"
48bedd1738SZhengjun Xing    },
49bedd1738SZhengjun Xing    {
50bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
51bedd1738SZhengjun Xing        "EventCode": "0x6E",
52bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE14_TRANSITION_CYCLES",
53bedd1738SZhengjun Xing        "PerPkg": "1",
54*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
55bedd1738SZhengjun Xing        "Unit": "PCU"
56bedd1738SZhengjun Xing    },
57bedd1738SZhengjun Xing    {
58bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
59bedd1738SZhengjun Xing        "EventCode": "0x6F",
60bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE15_TRANSITION_CYCLES",
61bedd1738SZhengjun Xing        "PerPkg": "1",
62*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
63bedd1738SZhengjun Xing        "Unit": "PCU"
64bedd1738SZhengjun Xing    },
65bedd1738SZhengjun Xing    {
66bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
67bedd1738SZhengjun Xing        "EventCode": "0x70",
68bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE16_TRANSITION_CYCLES",
69bedd1738SZhengjun Xing        "PerPkg": "1",
70*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
71bedd1738SZhengjun Xing        "Unit": "PCU"
72bedd1738SZhengjun Xing    },
73bedd1738SZhengjun Xing    {
74bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
75bedd1738SZhengjun Xing        "EventCode": "0x71",
76bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE17_TRANSITION_CYCLES",
77bedd1738SZhengjun Xing        "PerPkg": "1",
78*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
79bedd1738SZhengjun Xing        "Unit": "PCU"
80bedd1738SZhengjun Xing    },
81bedd1738SZhengjun Xing    {
82bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
83bedd1738SZhengjun Xing        "EventCode": "0x61",
84bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE1_TRANSITION_CYCLES",
85bedd1738SZhengjun Xing        "PerPkg": "1",
86*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
87bedd1738SZhengjun Xing        "Unit": "PCU"
88bedd1738SZhengjun Xing    },
89bedd1738SZhengjun Xing    {
90bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
91bedd1738SZhengjun Xing        "EventCode": "0x62",
92bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE2_TRANSITION_CYCLES",
93bedd1738SZhengjun Xing        "PerPkg": "1",
94*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
95bedd1738SZhengjun Xing        "Unit": "PCU"
96bedd1738SZhengjun Xing    },
97bedd1738SZhengjun Xing    {
98bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
99bedd1738SZhengjun Xing        "EventCode": "0x63",
100bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE3_TRANSITION_CYCLES",
101bedd1738SZhengjun Xing        "PerPkg": "1",
102*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
103bedd1738SZhengjun Xing        "Unit": "PCU"
104bedd1738SZhengjun Xing    },
105bedd1738SZhengjun Xing    {
106bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
107bedd1738SZhengjun Xing        "EventCode": "0x64",
108bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE4_TRANSITION_CYCLES",
109bedd1738SZhengjun Xing        "PerPkg": "1",
110*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
111bedd1738SZhengjun Xing        "Unit": "PCU"
112bedd1738SZhengjun Xing    },
113bedd1738SZhengjun Xing    {
114bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
115bedd1738SZhengjun Xing        "EventCode": "0x65",
116bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE5_TRANSITION_CYCLES",
117bedd1738SZhengjun Xing        "PerPkg": "1",
118*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
119bedd1738SZhengjun Xing        "Unit": "PCU"
120bedd1738SZhengjun Xing    },
121bedd1738SZhengjun Xing    {
122bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
123bedd1738SZhengjun Xing        "EventCode": "0x66",
124bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE6_TRANSITION_CYCLES",
125bedd1738SZhengjun Xing        "PerPkg": "1",
126*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
127bedd1738SZhengjun Xing        "Unit": "PCU"
128bedd1738SZhengjun Xing    },
129bedd1738SZhengjun Xing    {
130bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
131bedd1738SZhengjun Xing        "EventCode": "0x67",
132bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE7_TRANSITION_CYCLES",
133bedd1738SZhengjun Xing        "PerPkg": "1",
134*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
135bedd1738SZhengjun Xing        "Unit": "PCU"
136bedd1738SZhengjun Xing    },
137bedd1738SZhengjun Xing    {
138bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
139bedd1738SZhengjun Xing        "EventCode": "0x68",
140bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE8_TRANSITION_CYCLES",
141bedd1738SZhengjun Xing        "PerPkg": "1",
142*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
143bedd1738SZhengjun Xing        "Unit": "PCU"
144bedd1738SZhengjun Xing    },
145bedd1738SZhengjun Xing    {
146bedd1738SZhengjun Xing        "BriefDescription": "Core C State Transition Cycles",
147bedd1738SZhengjun Xing        "EventCode": "0x69",
148bedd1738SZhengjun Xing        "EventName": "UNC_P_CORE9_TRANSITION_CYCLES",
149bedd1738SZhengjun Xing        "PerPkg": "1",
150*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions.  There is one event per core.",
151bedd1738SZhengjun Xing        "Unit": "PCU"
152bedd1738SZhengjun Xing    },
153bedd1738SZhengjun Xing    {
154bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
155bedd1738SZhengjun Xing        "EventCode": "0x30",
156bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE0",
157bedd1738SZhengjun Xing        "PerPkg": "1",
158*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
159bedd1738SZhengjun Xing        "Unit": "PCU"
160bedd1738SZhengjun Xing    },
161bedd1738SZhengjun Xing    {
162bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
163bedd1738SZhengjun Xing        "EventCode": "0x31",
164bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE1",
165bedd1738SZhengjun Xing        "PerPkg": "1",
166*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
167bedd1738SZhengjun Xing        "Unit": "PCU"
168bedd1738SZhengjun Xing    },
169bedd1738SZhengjun Xing    {
170bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
171bedd1738SZhengjun Xing        "EventCode": "0x3A",
172bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE10",
173bedd1738SZhengjun Xing        "PerPkg": "1",
174*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
175bedd1738SZhengjun Xing        "Unit": "PCU"
176bedd1738SZhengjun Xing    },
177bedd1738SZhengjun Xing    {
178bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
179bedd1738SZhengjun Xing        "EventCode": "0x3B",
180bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE11",
181bedd1738SZhengjun Xing        "PerPkg": "1",
182*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
183bedd1738SZhengjun Xing        "Unit": "PCU"
184bedd1738SZhengjun Xing    },
185bedd1738SZhengjun Xing    {
186bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
187bedd1738SZhengjun Xing        "EventCode": "0x3C",
188bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE12",
189bedd1738SZhengjun Xing        "PerPkg": "1",
190*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
191bedd1738SZhengjun Xing        "Unit": "PCU"
192bedd1738SZhengjun Xing    },
193bedd1738SZhengjun Xing    {
194bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
195bedd1738SZhengjun Xing        "EventCode": "0x3D",
196bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE13",
197bedd1738SZhengjun Xing        "PerPkg": "1",
198*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
199bedd1738SZhengjun Xing        "Unit": "PCU"
200bedd1738SZhengjun Xing    },
201bedd1738SZhengjun Xing    {
202bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
203bedd1738SZhengjun Xing        "EventCode": "0x3E",
204bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE14",
205bedd1738SZhengjun Xing        "PerPkg": "1",
206*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
207bedd1738SZhengjun Xing        "Unit": "PCU"
208bedd1738SZhengjun Xing    },
209bedd1738SZhengjun Xing    {
210bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
211bedd1738SZhengjun Xing        "EventCode": "0x3F",
212bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE15",
213bedd1738SZhengjun Xing        "PerPkg": "1",
214*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
215bedd1738SZhengjun Xing        "Unit": "PCU"
216bedd1738SZhengjun Xing    },
217bedd1738SZhengjun Xing    {
218bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
219bedd1738SZhengjun Xing        "EventCode": "0x40",
220bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE16",
221bedd1738SZhengjun Xing        "PerPkg": "1",
222*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
223bedd1738SZhengjun Xing        "Unit": "PCU"
224bedd1738SZhengjun Xing    },
225bedd1738SZhengjun Xing    {
226bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
227bedd1738SZhengjun Xing        "EventCode": "0x41",
228bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE17",
229bedd1738SZhengjun Xing        "PerPkg": "1",
230*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
231bedd1738SZhengjun Xing        "Unit": "PCU"
232bedd1738SZhengjun Xing    },
233bedd1738SZhengjun Xing    {
234bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
235bedd1738SZhengjun Xing        "EventCode": "0x32",
236bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE2",
237bedd1738SZhengjun Xing        "PerPkg": "1",
238*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
239bedd1738SZhengjun Xing        "Unit": "PCU"
240bedd1738SZhengjun Xing    },
241bedd1738SZhengjun Xing    {
242bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
243bedd1738SZhengjun Xing        "EventCode": "0x33",
244bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE3",
245bedd1738SZhengjun Xing        "PerPkg": "1",
246*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
247bedd1738SZhengjun Xing        "Unit": "PCU"
248bedd1738SZhengjun Xing    },
249bedd1738SZhengjun Xing    {
250bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
251bedd1738SZhengjun Xing        "EventCode": "0x34",
252bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE4",
253bedd1738SZhengjun Xing        "PerPkg": "1",
254*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
255bedd1738SZhengjun Xing        "Unit": "PCU"
256bedd1738SZhengjun Xing    },
257bedd1738SZhengjun Xing    {
258bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
259bedd1738SZhengjun Xing        "EventCode": "0x35",
260bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE5",
261bedd1738SZhengjun Xing        "PerPkg": "1",
262*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
263bedd1738SZhengjun Xing        "Unit": "PCU"
264bedd1738SZhengjun Xing    },
265bedd1738SZhengjun Xing    {
266bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
267bedd1738SZhengjun Xing        "EventCode": "0x36",
268bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE6",
269bedd1738SZhengjun Xing        "PerPkg": "1",
270*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
271bedd1738SZhengjun Xing        "Unit": "PCU"
272bedd1738SZhengjun Xing    },
273bedd1738SZhengjun Xing    {
274bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
275bedd1738SZhengjun Xing        "EventCode": "0x37",
276bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE7",
277bedd1738SZhengjun Xing        "PerPkg": "1",
278*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
279bedd1738SZhengjun Xing        "Unit": "PCU"
280bedd1738SZhengjun Xing    },
281bedd1738SZhengjun Xing    {
282bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
283bedd1738SZhengjun Xing        "EventCode": "0x38",
284bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE8",
285bedd1738SZhengjun Xing        "PerPkg": "1",
286*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
287bedd1738SZhengjun Xing        "Unit": "PCU"
288bedd1738SZhengjun Xing    },
289bedd1738SZhengjun Xing    {
290bedd1738SZhengjun Xing        "BriefDescription": "Core C State Demotions",
291bedd1738SZhengjun Xing        "EventCode": "0x39",
292bedd1738SZhengjun Xing        "EventName": "UNC_P_DEMOTIONS_CORE9",
293bedd1738SZhengjun Xing        "PerPkg": "1",
294*667433c4SIan Rogers        "PublicDescription": "Counts the number of times when a configurable cores had a C-state demotion",
295bedd1738SZhengjun Xing        "Unit": "PCU"
296bedd1738SZhengjun Xing    },
297bedd1738SZhengjun Xing    {
298bedd1738SZhengjun Xing        "BriefDescription": "Frequency Residency",
299bedd1738SZhengjun Xing        "EventCode": "0xB",
300bedd1738SZhengjun Xing        "EventName": "UNC_P_FREQ_BAND0_CYCLES",
301bedd1738SZhengjun Xing        "PerPkg": "1",
302*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that the uncore was running at a frequency greater than or equal to the frequency that is configured in the filter.  One can use all four counters with this event, so it is possible to track up to 4 configurable bands.  One can use edge detect in conjunction with this event to track the number of times that we transitioned into a frequency greater than or equal to the configurable frequency. One can also use inversion to track cycles when we were less than the configured frequency.",
303bedd1738SZhengjun Xing        "Unit": "PCU"
304bedd1738SZhengjun Xing    },
305bedd1738SZhengjun Xing    {
306bedd1738SZhengjun Xing        "BriefDescription": "Frequency Residency",
307bedd1738SZhengjun Xing        "EventCode": "0xC",
308bedd1738SZhengjun Xing        "EventName": "UNC_P_FREQ_BAND1_CYCLES",
309bedd1738SZhengjun Xing        "PerPkg": "1",
310*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that the uncore was running at a frequency greater than or equal to the frequency that is configured in the filter.  One can use all four counters with this event, so it is possible to track up to 4 configurable bands.  One can use edge detect in conjunction with this event to track the number of times that we transitioned into a frequency greater than or equal to the configurable frequency. One can also use inversion to track cycles when we were less than the configured frequency.",
311bedd1738SZhengjun Xing        "Unit": "PCU"
312bedd1738SZhengjun Xing    },
313bedd1738SZhengjun Xing    {
314bedd1738SZhengjun Xing        "BriefDescription": "Frequency Residency",
315bedd1738SZhengjun Xing        "EventCode": "0xD",
316bedd1738SZhengjun Xing        "EventName": "UNC_P_FREQ_BAND2_CYCLES",
317bedd1738SZhengjun Xing        "PerPkg": "1",
318*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that the uncore was running at a frequency greater than or equal to the frequency that is configured in the filter.  One can use all four counters with this event, so it is possible to track up to 4 configurable bands.  One can use edge detect in conjunction with this event to track the number of times that we transitioned into a frequency greater than or equal to the configurable frequency. One can also use inversion to track cycles when we were less than the configured frequency.",
319bedd1738SZhengjun Xing        "Unit": "PCU"
320bedd1738SZhengjun Xing    },
321bedd1738SZhengjun Xing    {
322bedd1738SZhengjun Xing        "BriefDescription": "Frequency Residency",
323bedd1738SZhengjun Xing        "EventCode": "0xE",
324bedd1738SZhengjun Xing        "EventName": "UNC_P_FREQ_BAND3_CYCLES",
325bedd1738SZhengjun Xing        "PerPkg": "1",
326*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that the uncore was running at a frequency greater than or equal to the frequency that is configured in the filter.  One can use all four counters with this event, so it is possible to track up to 4 configurable bands.  One can use edge detect in conjunction with this event to track the number of times that we transitioned into a frequency greater than or equal to the configurable frequency. One can also use inversion to track cycles when we were less than the configured frequency.",
327bedd1738SZhengjun Xing        "Unit": "PCU"
328bedd1738SZhengjun Xing    },
329bedd1738SZhengjun Xing    {
330bedd1738SZhengjun Xing        "BriefDescription": "Thermal Strongest Upper Limit Cycles",
3317003f00fSAndi Kleen        "EventCode": "0x4",
3327003f00fSAndi Kleen        "EventName": "UNC_P_FREQ_MAX_LIMIT_THERMAL_CYCLES",
3337003f00fSAndi Kleen        "PerPkg": "1",
334*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when thermal conditions are the upper limit on frequency.  This is related to the THERMAL_THROTTLE CYCLES_ABOVE_TEMP event, which always counts cycles when we are above the thermal temperature.  This event (STRONGEST_UPPER_LIMIT) is sampled at the output of the algorithm that determines the actual frequency, while THERMAL_THROTTLE looks at the input.",
3357003f00fSAndi Kleen        "Unit": "PCU"
3367003f00fSAndi Kleen    },
3377003f00fSAndi Kleen    {
338bedd1738SZhengjun Xing        "BriefDescription": "OS Strongest Upper Limit Cycles",
3397003f00fSAndi Kleen        "EventCode": "0x6",
3407003f00fSAndi Kleen        "EventName": "UNC_P_FREQ_MAX_OS_CYCLES",
3417003f00fSAndi Kleen        "PerPkg": "1",
342*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the OS is the upper limit on frequency.",
3437003f00fSAndi Kleen        "Unit": "PCU"
3447003f00fSAndi Kleen    },
3457003f00fSAndi Kleen    {
346bedd1738SZhengjun Xing        "BriefDescription": "Power Strongest Upper Limit Cycles",
3477003f00fSAndi Kleen        "EventCode": "0x5",
3487003f00fSAndi Kleen        "EventName": "UNC_P_FREQ_MAX_POWER_CYCLES",
3497003f00fSAndi Kleen        "PerPkg": "1",
350*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when power is the upper limit on frequency.",
3517003f00fSAndi Kleen        "Unit": "PCU"
3527003f00fSAndi Kleen    },
3537003f00fSAndi Kleen    {
354bedd1738SZhengjun Xing        "BriefDescription": "IO P Limit Strongest Lower Limit Cycles",
355bedd1738SZhengjun Xing        "EventCode": "0x73",
356bedd1738SZhengjun Xing        "EventName": "UNC_P_FREQ_MIN_IO_P_CYCLES",
357bedd1738SZhengjun Xing        "PerPkg": "1",
358*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when IO P Limit is preventing us from dropping the frequency lower.  This algorithm monitors the needs to the IO subsystem on both local and remote sockets and will maintain a frequency high enough to maintain good IO BW.  This is necessary for when all the IA cores on a socket are idle but a user still would like to maintain high IO Bandwidth.",
359bedd1738SZhengjun Xing        "Unit": "PCU"
360bedd1738SZhengjun Xing    },
361bedd1738SZhengjun Xing    {
362bedd1738SZhengjun Xing        "BriefDescription": "Cycles spent changing Frequency",
3637003f00fSAndi Kleen        "EventCode": "0x74",
3647003f00fSAndi Kleen        "EventName": "UNC_P_FREQ_TRANS_CYCLES",
365bedd1738SZhengjun Xing        "PerPkg": "1",
366*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the system is changing frequency.  This can not be filtered by thread ID.  One can also use it with the occupancy counter that monitors number of threads in C0 to estimate the performance impact that frequency transitions had on the system.",
367bedd1738SZhengjun Xing        "Unit": "PCU"
368bedd1738SZhengjun Xing    },
369bedd1738SZhengjun Xing    {
370bedd1738SZhengjun Xing        "BriefDescription": "Memory Phase Shedding Cycles",
371bedd1738SZhengjun Xing        "EventCode": "0x2F",
372bedd1738SZhengjun Xing        "EventName": "UNC_P_MEMORY_PHASE_SHEDDING_CYCLES",
373bedd1738SZhengjun Xing        "PerPkg": "1",
374*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that the PCU has triggered memory phase shedding.  This is a mode that can be run in the iMC physicals that saves power at the expense of additional latency.",
375bedd1738SZhengjun Xing        "Unit": "PCU"
376bedd1738SZhengjun Xing    },
377bedd1738SZhengjun Xing    {
378bedd1738SZhengjun Xing        "BriefDescription": "Package C State Residency - C0",
379bedd1738SZhengjun Xing        "EventCode": "0x2A",
380bedd1738SZhengjun Xing        "EventName": "UNC_P_PKG_RESIDENCY_C0_CYCLES",
381bedd1738SZhengjun Xing        "PerPkg": "1",
382*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the package was in C0.  This event can be used in conjunction with edge detect to count C0 entrances (or exits using invert).  Residency events do not include transition times.",
383bedd1738SZhengjun Xing        "Unit": "PCU"
384bedd1738SZhengjun Xing    },
385bedd1738SZhengjun Xing    {
386bedd1738SZhengjun Xing        "BriefDescription": "Package C State Residency - C1E",
387bedd1738SZhengjun Xing        "EventCode": "0x4E",
388bedd1738SZhengjun Xing        "EventName": "UNC_P_PKG_RESIDENCY_C1E_CYCLES",
389bedd1738SZhengjun Xing        "PerPkg": "1",
390*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the package was in C1E.  This event can be used in conjunction with edge detect to count C1E entrances (or exits using invert).  Residency events do not include transition times.",
391*667433c4SIan Rogers        "Unit": "PCU"
392*667433c4SIan Rogers    },
393*667433c4SIan Rogers    {
394*667433c4SIan Rogers        "BriefDescription": "Package C State Residency - C2E",
395*667433c4SIan Rogers        "EventCode": "0x2B",
396*667433c4SIan Rogers        "EventName": "UNC_P_PKG_RESIDENCY_C2E_CYCLES",
397*667433c4SIan Rogers        "PerPkg": "1",
398*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the package was in C2E.  This event can be used in conjunction with edge detect to count C2E entrances (or exits using invert).  Residency events do not include transition times.",
399*667433c4SIan Rogers        "Unit": "PCU"
400*667433c4SIan Rogers    },
401*667433c4SIan Rogers    {
402*667433c4SIan Rogers        "BriefDescription": "Package C State Residency - C3",
403*667433c4SIan Rogers        "EventCode": "0x2C",
404*667433c4SIan Rogers        "EventName": "UNC_P_PKG_RESIDENCY_C3_CYCLES",
405*667433c4SIan Rogers        "PerPkg": "1",
406*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the package was in C3.  This event can be used in conjunction with edge detect to count C3 entrances (or exits using invert).  Residency events do not include transition times.",
407*667433c4SIan Rogers        "Unit": "PCU"
408*667433c4SIan Rogers    },
409*667433c4SIan Rogers    {
410*667433c4SIan Rogers        "BriefDescription": "Package C State Residency - C6",
411*667433c4SIan Rogers        "EventCode": "0x2D",
412*667433c4SIan Rogers        "EventName": "UNC_P_PKG_RESIDENCY_C6_CYCLES",
413*667433c4SIan Rogers        "PerPkg": "1",
414*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the package was in C6.  This event can be used in conjunction with edge detect to count C6 entrances (or exits using invert).  Residency events do not include transition times.",
415*667433c4SIan Rogers        "Unit": "PCU"
416*667433c4SIan Rogers    },
417*667433c4SIan Rogers    {
418*667433c4SIan Rogers        "BriefDescription": "Package C7 State Residency",
419*667433c4SIan Rogers        "EventCode": "0x2E",
420*667433c4SIan Rogers        "EventName": "UNC_P_PKG_RESIDENCY_C7_CYCLES",
421*667433c4SIan Rogers        "PerPkg": "1",
422*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles when the package was in C7.  This event can be used in conjunction with edge detect to count C7 entrances (or exits using invert).  Residency events do not include transition times.",
423*667433c4SIan Rogers        "Unit": "PCU"
424*667433c4SIan Rogers    },
425*667433c4SIan Rogers    {
426*667433c4SIan Rogers        "BriefDescription": "Number of cores in C-State; C0 and C1",
427*667433c4SIan Rogers        "EventCode": "0x80",
428*667433c4SIan Rogers        "EventName": "UNC_P_POWER_STATE_OCCUPANCY.CORES_C0",
429*667433c4SIan Rogers        "PerPkg": "1",
430*667433c4SIan Rogers        "PublicDescription": "This is an occupancy event that tracks the number of cores that are in the chosen C-State.  It can be used by itself to get the average number of cores in that C-state with thresholding to generate histograms, or with other PCU events and occupancy triggering to capture other details.",
431*667433c4SIan Rogers        "Unit": "PCU"
432*667433c4SIan Rogers    },
433*667433c4SIan Rogers    {
434*667433c4SIan Rogers        "BriefDescription": "Number of cores in C-State; C3",
435*667433c4SIan Rogers        "EventCode": "0x80",
436*667433c4SIan Rogers        "EventName": "UNC_P_POWER_STATE_OCCUPANCY.CORES_C3",
437*667433c4SIan Rogers        "PerPkg": "1",
438*667433c4SIan Rogers        "PublicDescription": "This is an occupancy event that tracks the number of cores that are in the chosen C-State.  It can be used by itself to get the average number of cores in that C-state with thresholding to generate histograms, or with other PCU events and occupancy triggering to capture other details.",
439*667433c4SIan Rogers        "Unit": "PCU"
440*667433c4SIan Rogers    },
441*667433c4SIan Rogers    {
442*667433c4SIan Rogers        "BriefDescription": "Number of cores in C-State; C6 and C7",
443*667433c4SIan Rogers        "EventCode": "0x80",
444*667433c4SIan Rogers        "EventName": "UNC_P_POWER_STATE_OCCUPANCY.CORES_C6",
445*667433c4SIan Rogers        "PerPkg": "1",
446*667433c4SIan Rogers        "PublicDescription": "This is an occupancy event that tracks the number of cores that are in the chosen C-State.  It can be used by itself to get the average number of cores in that C-state with thresholding to generate histograms, or with other PCU events and occupancy triggering to capture other details.",
447*667433c4SIan Rogers        "Unit": "PCU"
448*667433c4SIan Rogers    },
449*667433c4SIan Rogers    {
450*667433c4SIan Rogers        "BriefDescription": "External Prochot",
451*667433c4SIan Rogers        "EventCode": "0xA",
452*667433c4SIan Rogers        "EventName": "UNC_P_PROCHOT_EXTERNAL_CYCLES",
453*667433c4SIan Rogers        "PerPkg": "1",
454*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that we are in external PROCHOT mode.  This mode is triggered when a sensor off the die determines that something off-die (like DRAM) is too hot and must throttle to avoid damaging the chip.",
455*667433c4SIan Rogers        "Unit": "PCU"
456*667433c4SIan Rogers    },
457*667433c4SIan Rogers    {
458*667433c4SIan Rogers        "BriefDescription": "Internal Prochot",
459*667433c4SIan Rogers        "EventCode": "0x9",
460*667433c4SIan Rogers        "EventName": "UNC_P_PROCHOT_INTERNAL_CYCLES",
461*667433c4SIan Rogers        "PerPkg": "1",
462*667433c4SIan Rogers        "PublicDescription": "Counts the number of cycles that we are in Internal PROCHOT mode.  This mode is triggered when a sensor on the die determines that we are too hot and must throttle to avoid damaging the chip.",
463*667433c4SIan Rogers        "Unit": "PCU"
464*667433c4SIan Rogers    },
465*667433c4SIan Rogers    {
466*667433c4SIan Rogers        "BriefDescription": "Total Core C State Transition Cycles",
467*667433c4SIan Rogers        "EventCode": "0x72",
468*667433c4SIan Rogers        "EventName": "UNC_P_TOTAL_TRANSITION_CYCLES",
469*667433c4SIan Rogers        "PerPkg": "1",
470*667433c4SIan Rogers        "PublicDescription": "Number of cycles spent performing core C state transitions across all cores.",
471*667433c4SIan Rogers        "Unit": "PCU"
472*667433c4SIan Rogers    },
473*667433c4SIan Rogers    {
474*667433c4SIan Rogers        "BriefDescription": "UNC_P_UFS_TRANSITIONS_NO_CHANGE",
475*667433c4SIan Rogers        "EventCode": "0x79",
476*667433c4SIan Rogers        "EventName": "UNC_P_UFS_TRANSITIONS_NO_CHANGE",
477*667433c4SIan Rogers        "PerPkg": "1",
478*667433c4SIan Rogers        "PublicDescription": "Ring GV with same final and initial frequency",
479bedd1738SZhengjun Xing        "Unit": "PCU"
480bedd1738SZhengjun Xing    },
481bedd1738SZhengjun Xing    {
482bedd1738SZhengjun Xing        "BriefDescription": "UNC_P_UFS_TRANSITIONS_RING_GV",
483bedd1738SZhengjun Xing        "EventCode": "0x79",
484bedd1738SZhengjun Xing        "EventName": "UNC_P_UFS_TRANSITIONS_RING_GV",
4857003f00fSAndi Kleen        "PerPkg": "1",
486*667433c4SIan Rogers        "PublicDescription": "Ring GV with same final and initial frequency",
487*667433c4SIan Rogers        "Unit": "PCU"
488*667433c4SIan Rogers    },
489*667433c4SIan Rogers    {
490*667433c4SIan Rogers        "BriefDescription": "VR Hot",
491*667433c4SIan Rogers        "EventCode": "0x42",
492*667433c4SIan Rogers        "EventName": "UNC_P_VR_HOT_CYCLES",
493*667433c4SIan Rogers        "PerPkg": "1",
494*667433c4SIan Rogers        "PublicDescription": "VR Hot : Number of cycles that a CPU SVID VR is hot.  Does not cover DRAM VRs",
4957003f00fSAndi Kleen        "Unit": "PCU"
4967003f00fSAndi Kleen    }
4977003f00fSAndi Kleen]
498