xref: /freebsd/lib/libpmc/pmc.haswell.3 (revision 0b1293252543802b809b5f13f554e5d6391d3445)
1cc0c1555SSean Bruno.\" Copyright (c) 2013 Hiren Panchasara <hiren.panchasara@gmail.com>
2cc0c1555SSean Bruno.\" All rights reserved.
3cc0c1555SSean Bruno.\"
4cc0c1555SSean Bruno.\" Redistribution and use in source and binary forms, with or without
5cc0c1555SSean Bruno.\" modification, are permitted provided that the following conditions
6cc0c1555SSean Bruno.\" are met:
7cc0c1555SSean Bruno.\" 1. Redistributions of source code must retain the above copyright
8cc0c1555SSean Bruno.\"    notice, this list of conditions and the following disclaimer.
9cc0c1555SSean Bruno.\" 2. Redistributions in binary form must reproduce the above copyright
10cc0c1555SSean Bruno.\"    notice, this list of conditions and the following disclaimer in the
11cc0c1555SSean Bruno.\"    documentation and/or other materials provided with the distribution.
12cc0c1555SSean Bruno.\"
13cc0c1555SSean Bruno.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14cc0c1555SSean Bruno.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15cc0c1555SSean Bruno.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16cc0c1555SSean Bruno.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17cc0c1555SSean Bruno.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18cc0c1555SSean Bruno.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19cc0c1555SSean Bruno.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20cc0c1555SSean Bruno.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21cc0c1555SSean Bruno.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22cc0c1555SSean Bruno.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23cc0c1555SSean Bruno.\" SUCH DAMAGE.
24cc0c1555SSean Bruno.\"
25cc0c1555SSean Bruno.\" $FreeBSD$
26cc0c1555SSean Bruno.\"
27cc0c1555SSean Bruno.Dd March 22, 2013
28cc0c1555SSean Bruno.Dt PMC.HASWELL 3
29cc0c1555SSean Bruno.Os
30cc0c1555SSean Bruno.Sh NAME
31cc0c1555SSean Bruno.Nm pmc.haswell
32cc0c1555SSean Bruno.Nd measurement events for
33cc0c1555SSean Bruno.Tn Intel
34ab38e32dSEdward Tomasz Napierala.Tn Haswell
35cc0c1555SSean Brunofamily CPUs
36cc0c1555SSean Bruno.Sh LIBRARY
37cc0c1555SSean Bruno.Lb libpmc
38cc0c1555SSean Bruno.Sh SYNOPSIS
39cc0c1555SSean Bruno.In pmc.h
40cc0c1555SSean Bruno.Sh DESCRIPTION
41cc0c1555SSean Bruno.Tn Intel
42cc0c1555SSean Bruno.Tn "Haswell"
43cc0c1555SSean BrunoCPUs contain PMCs conforming to version 2 of the
44cc0c1555SSean Bruno.Tn Intel
45cc0c1555SSean Brunoperformance measurement architecture.
46cc0c1555SSean BrunoThese CPUs may contain up to two classes of PMCs:
47cc0c1555SSean Bruno.Bl -tag -width "Li PMC_CLASS_IAP"
48cc0c1555SSean Bruno.It Li PMC_CLASS_IAF
49cc0c1555SSean BrunoFixed-function counters that count only one hardware event per counter.
50cc0c1555SSean Bruno.It Li PMC_CLASS_IAP
51cc0c1555SSean BrunoProgrammable counters that may be configured to count one of a defined
52cc0c1555SSean Brunoset of hardware events.
53cc0c1555SSean Bruno.El
54cc0c1555SSean Bruno.Pp
55cc0c1555SSean BrunoThe number of PMCs available in each class and their widths need to be
56cc0c1555SSean Brunodetermined at run time by calling
57cc0c1555SSean Bruno.Xr pmc_cpuinfo 3 .
58cc0c1555SSean Bruno.Pp
59cc0c1555SSean BrunoIntel Haswell PMCs are documented in
60cc0c1555SSean Bruno.Rs
61cc0c1555SSean Bruno.%B "Intel(R) 64 and IA-32 Architectures Software Developer's Manual"
62cc0c1555SSean Bruno.%T "Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C"
63cc0c1555SSean Bruno.%N "Order Number: 325462-045US"
64cc0c1555SSean Bruno.%D January 2013
65cc0c1555SSean Bruno.%Q "Intel Corporation"
66cc0c1555SSean Bruno.Re
67cc0c1555SSean Bruno.Ss HASWELL FIXED FUNCTION PMCS
68cc0c1555SSean BrunoThese PMCs and their supported events are documented in
69cc0c1555SSean Bruno.Xr pmc.iaf 3 .
70cc0c1555SSean Bruno.Ss HASWELL PROGRAMMABLE PMCS
71cc0c1555SSean BrunoThe programmable PMCs support the following capabilities:
72cc0c1555SSean Bruno.Bl -column "PMC_CAP_INTERRUPT" "Support"
73cc0c1555SSean Bruno.It Em Capability Ta Em Support
74cc0c1555SSean Bruno.It PMC_CAP_CASCADE Ta \&No
75cc0c1555SSean Bruno.It PMC_CAP_EDGE Ta Yes
76cc0c1555SSean Bruno.It PMC_CAP_INTERRUPT Ta Yes
77cc0c1555SSean Bruno.It PMC_CAP_INVERT Ta Yes
78cc0c1555SSean Bruno.It PMC_CAP_READ Ta Yes
79cc0c1555SSean Bruno.It PMC_CAP_PRECISE Ta \&No
80cc0c1555SSean Bruno.It PMC_CAP_SYSTEM Ta Yes
81cc0c1555SSean Bruno.It PMC_CAP_TAGGING Ta \&No
82cc0c1555SSean Bruno.It PMC_CAP_THRESHOLD Ta Yes
83cc0c1555SSean Bruno.It PMC_CAP_USER Ta Yes
84cc0c1555SSean Bruno.It PMC_CAP_WRITE Ta Yes
85cc0c1555SSean Bruno.El
86cc0c1555SSean Bruno.Ss Event Qualifiers
87cc0c1555SSean BrunoEvent specifiers for these PMCs support the following common
88cc0c1555SSean Brunoqualifiers:
89cc0c1555SSean Bruno.Bl -tag -width indent
90cc0c1555SSean Bruno.It Li rsp= Ns Ar value
91cc0c1555SSean BrunoConfigure the Off-core Response bits.
92cc0c1555SSean Bruno.Bl -tag -width indent
93cc0c1555SSean Bruno.It Li DMND_DATA_RD
94cc0c1555SSean BrunoCounts the number of demand and DCU prefetch data reads of full
95cc0c1555SSean Brunoand partial cachelines as well as demand data page table entry
96*0b129325SGordon Berglingcacheline reads.
97*0b129325SGordon BerglingDoes not count L2 data read prefetches or instruction fetches.
98cc0c1555SSean Bruno.It Li REQ_DMND_RFO
99cc0c1555SSean BrunoCounts the number of demand and DCU prefetch reads for ownership (RFO)
100*0b129325SGordon Berglingrequests generated by a write to data cacheline.
101*0b129325SGordon BerglingDoes not count L2 RFO prefetches.
102cc0c1555SSean Bruno.It Li REQ_DMND_IFETCH
103cc0c1555SSean BrunoCounts the number of demand and DCU prefetch instruction cacheline reads.
104cc0c1555SSean BrunoDoes not count L2 code read prefetches.
105cc0c1555SSean Bruno.It Li REQ_WB
106cc0c1555SSean BrunoCounts the number of writeback (modified to exclusive) transactions.
107cc0c1555SSean Bruno.It Li REQ_PF_DATA_RD
108cc0c1555SSean BrunoCounts the number of data cacheline reads generated by L2 prefetchers.
109cc0c1555SSean Bruno.It Li REQ_PF_RFO
110cc0c1555SSean BrunoCounts the number of RFO requests generated by L2 prefetchers.
111cc0c1555SSean Bruno.It Li REQ_PF_IFETCH
112cc0c1555SSean BrunoCounts the number of code reads generated by L2 prefetchers.
113cc0c1555SSean Bruno.It Li REQ_PF_LLC_DATA_RD
114cc0c1555SSean BrunoL2 prefetcher to L3 for loads.
115cc0c1555SSean Bruno.It Li REQ_PF_LLC_RFO
116cc0c1555SSean BrunoRFO requests generated by L2 prefetcher
117cc0c1555SSean Bruno.It Li REQ_PF_LLC_IFETCH
118cc0c1555SSean BrunoL2 prefetcher to L3 for instruction fetches.
119cc0c1555SSean Bruno.It Li REQ_BUS_LOCKS
120cc0c1555SSean BrunoBus lock and split lock requests.
121cc0c1555SSean Bruno.It Li REQ_STRM_ST
122cc0c1555SSean BrunoStreaming store requests.
123cc0c1555SSean Bruno.It Li REQ_OTHER
124cc0c1555SSean BrunoAny other request that crosses IDI, including I/O.
125cc0c1555SSean Bruno.It Li RES_ANY
126cc0c1555SSean BrunoCatch all value for any response types.
127cc0c1555SSean Bruno.It Li RES_SUPPLIER_NO_SUPP
128cc0c1555SSean BrunoNo Supplier Information available.
129cc0c1555SSean Bruno.It Li RES_SUPPLIER_LLC_HITM
130cc0c1555SSean BrunoM-state initial lookup stat in L3.
131cc0c1555SSean Bruno.It Li RES_SUPPLIER_LLC_HITE
132cc0c1555SSean BrunoE-state.
133cc0c1555SSean Bruno.It Li RES_SUPPLIER_LLC_HITS
134cc0c1555SSean BrunoS-state.
135cc0c1555SSean Bruno.It Li RES_SUPPLIER_LLC_HITF
136cc0c1555SSean BrunoF-state.
137cc0c1555SSean Bruno.It Li RES_SUPPLIER_LOCAL
138cc0c1555SSean BrunoLocal DRAM Controller.
139cc0c1555SSean Bruno.It Li RES_SNOOP_SNP_NONE
140cc0c1555SSean BrunoNo details on snoop-related information.
141cc0c1555SSean Bruno.It Li RES_SNOOP_SNP_NO_NEEDED
142cc0c1555SSean BrunoNo snoop was needed to satisfy the request.
143cc0c1555SSean Bruno.It Li RES_SNOOP_SNP_MISS
144cc0c1555SSean BrunoA snoop was needed and it missed all snooped caches:
145cc0c1555SSean Bruno-For LLC Hit, ReslHitl was returned by all cores
146cc0c1555SSean Bruno-For LLC Miss, Rspl was returned by all sockets and data was returned from
147cc0c1555SSean BrunoDRAM.
148cc0c1555SSean Bruno.It Li RES_SNOOP_HIT_NO_FWD
149*0b129325SGordon BerglingA snoop was needed and it hits in at least one snooped cache.
150*0b129325SGordon BerglingHit denotes a cache-line was valid before snoop effect.
151*0b129325SGordon BerglingThis includes:
152cc0c1555SSean Bruno-Snoop Hit w/ Invalidation (LLC Hit, RFO)
153cc0c1555SSean Bruno-Snoop Hit, Left Shared (LLC Hit/Miss, IFetch/Data_RD)
154cc0c1555SSean Bruno-Snoop Hit w/ Invalidation and No Forward (LLC Miss, RFO Hit S)
155cc0c1555SSean BrunoIn the LLC Miss case, data is returned from DRAM.
156cc0c1555SSean Bruno.It Li RES_SNOOP_HIT_FWD
157cc0c1555SSean BrunoA snoop was needed and data was forwarded from a remote socket.
158cc0c1555SSean BrunoThis includes:
159cc0c1555SSean Bruno-Snoop Forward Clean, Left Shared (LLC Hit/Miss, IFetch/Data_RD/RFT).
160cc0c1555SSean Bruno.It Li RES_SNOOP_HITM
161*0b129325SGordon BerglingA snoop was needed and it HitM-ed in local or remote cache.
162*0b129325SGordon BerglingHitM denotes a cache-line was in modified state before effect as a results of snoop.
163*0b129325SGordon BerglingThis includes:
164cc0c1555SSean Bruno-Snoop HitM w/ WB (LLC miss, IFetch/Data_RD)
165cc0c1555SSean Bruno-Snoop Forward Modified w/ Invalidation (LLC Hit/Miss, RFO)
166cc0c1555SSean Bruno-Snoop MtoS (LLC Hit, IFetch/Data_RD).
167cc0c1555SSean Bruno.It Li RES_NON_DRAM
168*0b129325SGordon BerglingTarget was non-DRAM system address.
169*0b129325SGordon BerglingThis includes MMIO transactions.
170cc0c1555SSean Bruno.El
171cc0c1555SSean Bruno.It Li cmask= Ns Ar value
172cc0c1555SSean BrunoConfigure the PMC to increment only if the number of configured
173cc0c1555SSean Brunoevents measured in a cycle is greater than or equal to
174cc0c1555SSean Bruno.Ar value .
175cc0c1555SSean Bruno.It Li edge
176cc0c1555SSean BrunoConfigure the PMC to count the number of de-asserted to asserted
177cc0c1555SSean Brunotransitions of the conditions expressed by the other qualifiers.
178cc0c1555SSean BrunoIf specified, the counter will increment only once whenever a
179cc0c1555SSean Brunocondition becomes true, irrespective of the number of clocks during
180cc0c1555SSean Brunowhich the condition remains true.
181cc0c1555SSean Bruno.It Li inv
182cc0c1555SSean BrunoInvert the sense of comparison when the
183cc0c1555SSean Bruno.Dq Li cmask
184cc0c1555SSean Brunoqualifier is present, making the counter increment when the number of
185cc0c1555SSean Brunoevents per cycle is less than the value specified by the
186cc0c1555SSean Bruno.Dq Li cmask
187cc0c1555SSean Brunoqualifier.
188cc0c1555SSean Bruno.It Li os
189cc0c1555SSean BrunoConfigure the PMC to count events happening at processor privilege
190cc0c1555SSean Brunolevel 0.
191cc0c1555SSean Bruno.It Li usr
192cc0c1555SSean BrunoConfigure the PMC to count events occurring at privilege levels 1, 2
193cc0c1555SSean Brunoor 3.
194cc0c1555SSean Bruno.El
195cc0c1555SSean Bruno.Pp
196cc0c1555SSean BrunoIf neither of the
197cc0c1555SSean Bruno.Dq Li os
198cc0c1555SSean Brunoor
199cc0c1555SSean Bruno.Dq Li usr
200cc0c1555SSean Brunoqualifiers are specified, the default is to enable both.
201cc0c1555SSean Bruno.Ss Event Specifiers (Programmable PMCs)
202cc0c1555SSean BrunoHaswell programmable PMCs support the following events:
203cc0c1555SSean Bruno.Bl -tag -width indent
204cc0c1555SSean Bruno.It Li LD_BLOCKS.STORE_FORWARD
205cc0c1555SSean Bruno.Pq Event 03H , Umask 02H
206cc0c1555SSean BrunoLoads blocked by overlapping with store buffer that
207cc0c1555SSean Brunocannot be forwarded.
208cc0c1555SSean Bruno.It Li MISALIGN_MEM_REF.LOADS
209cc0c1555SSean Bruno.Pq Event 05H , Umask 01H
210cc0c1555SSean BrunoSpeculative cache-line split load uops dispatched to
211cc0c1555SSean BrunoL1D.
212cc0c1555SSean Bruno.It Li MISALIGN_MEM_REF.STORES
213cc0c1555SSean Bruno.Pq Event 05H , Umask 02H
214cc0c1555SSean BrunoSpeculative cache-line split Store-address uops
215cc0c1555SSean Brunodispatched to L1D.
216cc0c1555SSean Bruno.It Li LD_BLOCKS_PARTIAL.ADDRESS_ALIAS
217cc0c1555SSean Bruno.Pq Event 07H , Umask 01H
218cc0c1555SSean BrunoFalse dependencies in MOB due to partial compare
219cc0c1555SSean Brunoon address.
220cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.MISS_CAUSES_A_WALK
221cc0c1555SSean Bruno.Pq Event 08H , Umask 01H
222cc0c1555SSean BrunoMisses in all TLB levels that cause a page walk of any
223cc0c1555SSean Brunopage size.
224cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.WALK_COMPLETED_4K
225cc0c1555SSean Bruno.Pq Event 08H , Umask 02H
226cc0c1555SSean BrunoCompleted page walks due to demand load misses
227cc0c1555SSean Brunothat caused 4K page walks in any TLB levels.
228cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.WALK_COMPLETED_2M_4K
229cc0c1555SSean Bruno.Pq Event 08H , Umask 02H
230cc0c1555SSean BrunoCompleted page walks due to demand load misses
231cc0c1555SSean Brunothat caused 2M/4M page walks in any TLB levels.
232cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.WALK_COMPLETED
233cc0c1555SSean Bruno.Pq Event 08H , Umask 0EH
234cc0c1555SSean BrunoCompleted page walks in any TLB of any page size
235cc0c1555SSean Brunodue to demand load misses
236cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.WALK_DURATION
237cc0c1555SSean Bruno.Pq Event 08H , Umask 10H
238cc0c1555SSean BrunoCycle PMH is busy with a walk.
239cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.STLB_HIT_4K
240cc0c1555SSean Bruno.Pq Event 08H , Umask 20H
241cc0c1555SSean BrunoLoad misses that missed DTLB but hit STLB (4K).
242cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.STLB_HIT_2M
243cc0c1555SSean Bruno.Pq Event 08H , Umask 40H
244cc0c1555SSean BrunoLoad misses that missed DTLB but hit STLB (2M).
245cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.STLB_HIT
246cc0c1555SSean Bruno.Pq Event 08H , Umask 60H
247*0b129325SGordon BerglingNumber of cache load STLB hits.
248*0b129325SGordon BerglingNo page walk.
249cc0c1555SSean Bruno.It Li DTLB_LOAD_MISSES.PDE_CACHE_MISS
250cc0c1555SSean Bruno.Pq Event 08H , Umask 80H
251cc0c1555SSean BrunoDTLB demand load misses with low part of linear-to-
252cc0c1555SSean Brunophysical address translation missed
253cc0c1555SSean Bruno.It Li INT_MISC.RECOVERY_CYCLES
254cc0c1555SSean Bruno.Pq Event 0DH , Umask 03H
255cc0c1555SSean BrunoCycles waiting to recover after Machine Clears
256*0b129325SGordon Berglingexcept JEClear.
257*0b129325SGordon BerglingSet Cmask= 1.
258cc0c1555SSean Bruno.It Li UOPS_ISSUED.ANY
259cc0c1555SSean Bruno.Pq Event 0EH , Umask 01H
260cc0c1555SSean Brunoncrements each cycle the # of Uops issued by the
261cc0c1555SSean BrunoRAT to RS.
262cc0c1555SSean BrunoSet Cmask = 1, Inv = 1, Any= 1to count stalled cycles
263cc0c1555SSean Brunoof this core.
264cc0c1555SSean Bruno.It Li UOPS_ISSUED.FLAGS_MERGE
265cc0c1555SSean Bruno.Pq Event 0EH , Umask 10H
266*0b129325SGordon BerglingNumber of flags-merge uops allocated.
267*0b129325SGordon BerglingSuch uops adds delay.
268cc0c1555SSean Bruno.It Li UOPS_ISSUED.SLOW_LEA
269cc0c1555SSean Bruno.Pq Event 0EH , Umask 20H
270*0b129325SGordon BerglingNumber of slow LEA or similar uops allocated.
271*0b129325SGordon BerglingSuch uop has 3 sources (e.g. 2 sources + immediate)
272cc0c1555SSean Brunoregardless if as a result of LEA instruction or not.
273cc0c1555SSean Bruno.It Li UOPS_ISSUED.SiNGLE_MUL
274cc0c1555SSean Bruno.Pq Event 0EH , Umask 40H
275cc0c1555SSean BrunoNumber of multiply packed/scalar single precision
276cc0c1555SSean Brunouops allocated.
277cc0c1555SSean Bruno.It Li L2_RQSTS.DEMAND_DATA_RD_MISS
278cc0c1555SSean Bruno.Pq Event 24H , Umask 21H
279cc0c1555SSean BrunoDemand Data Read requests that missed L2, no
280cc0c1555SSean Brunorejects.
281cc0c1555SSean Bruno.It Li L2_RQSTS.DEMAND_DATA_RD_HIT
282cc0c1555SSean Bruno.Pq Event 24H , Umask 41H
283cc0c1555SSean BrunoDemand Data Read requests that hit L2 cache.
284cc0c1555SSean Bruno.It Li L2_RQSTS.ALL_DEMAND_DATA_RD
285cc0c1555SSean Bruno.Pq Event 24H , Umask E1H
286cc0c1555SSean BrunoCounts any demand and L1 HW prefetch data load
287cc0c1555SSean Brunorequests to L2.
288cc0c1555SSean Bruno.It Li L2_RQSTS.RFO_HIT
289cc0c1555SSean Bruno.Pq Event 24H , Umask 42H
290cc0c1555SSean BrunoCounts the number of store RFO requests that hit
291cc0c1555SSean Brunothe L2 cache.
292cc0c1555SSean Bruno.It Li L2_RQSTS.RFO_MISS
293cc0c1555SSean Bruno.Pq Event 24H , Umask 22H
294cc0c1555SSean BrunoCounts the number of store RFO requests that miss
295cc0c1555SSean Brunothe L2 cache.
296cc0c1555SSean Bruno.It Li L2_RQSTS.ALL_RFO
297cc0c1555SSean Bruno.Pq Event 24H , Umask E2H
298cc0c1555SSean BrunoCounts all L2 store RFO requests.
299cc0c1555SSean Bruno.It Li L2_RQSTS.CODE_RD_HIT
300cc0c1555SSean Bruno.Pq Event 24H , Umask 44H
301cc0c1555SSean BrunoNumber of instruction fetches that hit the L2 cache.
302cc0c1555SSean Bruno.It Li L2_RQSTS.CODE_RD_MISS
303cc0c1555SSean Bruno.Pq Event 24H , Umask 24H
304cc0c1555SSean BrunoNumber of instruction fetches that missed the L2
305cc0c1555SSean Brunocache.
306cc0c1555SSean Bruno.It Li L2_RQSTS.ALL_DEMAND_MISS
307cc0c1555SSean Bruno.Pq Event 24H , Umask 27H
308cc0c1555SSean BrunoDemand requests that miss L2 cache.
309cc0c1555SSean Bruno.It Li L2_RQSTS.ALL_DEMAND_REFERENCES
310cc0c1555SSean Bruno.Pq Event 24H , Umask E7H
311cc0c1555SSean BrunoDemand requests to L2 cache.
312cc0c1555SSean Bruno.It Li L2_RQSTS.ALL_CODE_RD
313cc0c1555SSean Bruno.Pq Event 24H , Umask E4H
314cc0c1555SSean BrunoCounts all L2 code requests.
315cc0c1555SSean Bruno.It Li L2_RQSTS.L2_PF_HIT
316cc0c1555SSean Bruno.Pq Event 24H , Umask 50H
317cc0c1555SSean BrunoCounts all L2 HW prefetcher requests that hit L2.
318cc0c1555SSean Bruno.It Li L2_RQSTS.L2_PF_MISS
319cc0c1555SSean Bruno.Pq Event 24H , Umask 30H
320cc0c1555SSean BrunoCounts all L2 HW prefetcher requests that missed
321cc0c1555SSean BrunoL2.
322cc0c1555SSean Bruno.It Li L2_RQSTS.ALL_PF
323cc0c1555SSean Bruno.Pq Event 24H , Umask F8H
324cc0c1555SSean BrunoCounts all L2 HW prefetcher requests.
325cc0c1555SSean Bruno.It Li L2_RQSTS.MISS
326cc0c1555SSean Bruno.Pq Event 24H , Umask 3FH
327cc0c1555SSean BrunoAll requests that missed L2.
328cc0c1555SSean Bruno.It Li L2_RQSTS.REFERENCES
329cc0c1555SSean Bruno.Pq Event 24H , Umask FFH
330cc0c1555SSean BrunoAll requests to L2 cache.
331cc0c1555SSean Bruno.It Li L2_DEMAND_RQSTS.WB_HIT
332cc0c1555SSean Bruno.Pq Event 27H , Umask 50H
333cc0c1555SSean BrunoNot rejected writebacks that hit L2 cache
334cc0c1555SSean Bruno.It Li LONGEST_LAT_CACHE.REFERENCE
335cc0c1555SSean Bruno.Pq Event 2EH , Umask 4FH
336cc0c1555SSean BrunoThis event counts requests originating from the core
337cc0c1555SSean Brunothat reference a cache line in the last level cache.
338cc0c1555SSean Bruno.It Li LONGEST_LAT_CACHE.MISS
339cc0c1555SSean Bruno.Pq Event 2EH , Umask 41H
340cc0c1555SSean BrunoThis event counts each cache miss condition for
341cc0c1555SSean Brunoreferences to the last level cache.
342cc0c1555SSean Bruno.It Li CPU_CLK_UNHALTED.THREAD_P
343cc0c1555SSean Bruno.Pq Event 3CH , Umask 00H
344*0b129325SGordon BerglingCounts the number of thread cycles while the thread is not in a halt state.
345*0b129325SGordon BerglingThe thread enters the halt state when it is running the HLT instruction.
346*0b129325SGordon BerglingThe core frequency may change from time to time due to power or thermal throttling.
347cc0c1555SSean Bruno.It Li CPU_CLK_THREAD_UNHALTED.REF_XCLK
348cc0c1555SSean Bruno.Pq Event 3CH , Umask 01H
349cc0c1555SSean BrunoIncrements at the frequency of XCLK (100 MHz)
350cc0c1555SSean Brunowhen not halted.
351cc0c1555SSean Bruno.It Li L1D_PEND_MISS.PENDING
352cc0c1555SSean Bruno.Pq Event 48H , Umask 01H
353*0b129325SGordon BerglingIncrements the number of outstanding L1D misses every cycle.
354*0b129325SGordon BerglingSet Cmaks = 1 and Edge =1 to count occurrences.
355cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.MISS_CAUSES_A_WALK
356cc0c1555SSean Bruno.Pq Event 49H , Umask 01H
357cc0c1555SSean BrunoMiss in all TLB levels causes an page walk of any
358cc0c1555SSean Brunopage size (4K/2M/4M/1G).
359cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.WALK_COMPLETED_4K
360cc0c1555SSean Bruno.Pq Event 49H , Umask 02H
361cc0c1555SSean BrunoCompleted page walks due to store misses in one or
362cc0c1555SSean Brunomore TLB levels of 4K page structure.
363cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.WALK_COMPLETED_2M_4M
364cc0c1555SSean Bruno.Pq Event 49H , Umask 04H
365cc0c1555SSean BrunoCompleted page walks due to store misses in one or
366cc0c1555SSean Brunomore TLB levels of 2M/4M page structure.
367cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.WALK_COMPLETED
368cc0c1555SSean Bruno.Pq Event 49H , Umask 0EH
369cc0c1555SSean BrunoCompleted page walks due to store miss in any TLB
370cc0c1555SSean Brunolevels of any page size (4K/2M/4M/1G).
371cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.WALK_DURATION
372cc0c1555SSean Bruno.Pq Event 49H , Umask 10H
373cc0c1555SSean BrunoCycles PMH is busy with this walk.
374cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.STLB_HIT_4K
375cc0c1555SSean Bruno.Pq Event 49H , Umask 20H
376cc0c1555SSean BrunoStore misses that missed DTLB but hit STLB (4K).
377cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.STLB_HIT_2M
378cc0c1555SSean Bruno.Pq Event 49H , Umask 40H
379cc0c1555SSean BrunoStore misses that missed DTLB but hit STLB (2M).
380cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.STLB_HIT
381cc0c1555SSean Bruno.Pq Event 49H , Umask 60H
382cc0c1555SSean BrunoStore operations that miss the first TLB level but hit
383cc0c1555SSean Brunothe second and do not cause page walks.
384cc0c1555SSean Bruno.It Li DTLB_STORE_MISSES.PDE_CACHE_MISS
385cc0c1555SSean Bruno.Pq Event 49H , Umask 80H
386cc0c1555SSean BrunoDTLB store misses with low part of linear-to-physical
387cc0c1555SSean Brunoaddress translation missed.
388cc0c1555SSean Bruno.It Li LOAD_HIT_PRE.SW_PF
389cc0c1555SSean Bruno.Pq Event 4CH , Umask 01H
390cc0c1555SSean BrunoNon-SW-prefetch load dispatches that hit fill buffer
391cc0c1555SSean Brunoallocated for S/W prefetch.
392cc0c1555SSean Bruno.It Li LOAD_HIT_PRE.HW_PF
393cc0c1555SSean Bruno.Pq Event 4CH , Umask 02H
394cc0c1555SSean BrunoNon-SW-prefetch load dispatches that hit fill buffer
395cc0c1555SSean Brunoallocated for H/W prefetch.
396cc0c1555SSean Bruno.It Li L1D.REPLACEMENT
397cc0c1555SSean Bruno.Pq Event 51H , Umask 01H
398cc0c1555SSean BrunoCounts the number of lines brought into the L1 data
399cc0c1555SSean Brunocache.
400cc0c1555SSean Bruno.It Li MOVE_ELIMINATION.INT_NOT_ELIMINATED
401cc0c1555SSean Bruno.Pq Event 58H , Umask 04H
402cc0c1555SSean BrunoNumber of integer Move Elimination candidate uops
403cc0c1555SSean Brunothat were not eliminated.
404cc0c1555SSean Bruno.It Li MOVE_ELIMINATION.SMID_NOT_ELIMINATED
405cc0c1555SSean Bruno.Pq Event 58H , Umask 08H
406cc0c1555SSean BrunoNumber of SIMD Move Elimination candidate uops
407cc0c1555SSean Brunothat were not eliminated.
408cc0c1555SSean Bruno.It Li MOVE_ELIMINATION.INT_ELIMINATED
409cc0c1555SSean Bruno.Pq Event 58H , Umask 01H
410cc0c1555SSean BrunoUnhalted core cycles when the thread is in ring 0.
411cc0c1555SSean Bruno.It Li MOVE_ELIMINATION.SMID_ELIMINATED
412cc0c1555SSean Bruno.Pq Event 58H , Umask 02H
413cc0c1555SSean BrunoNumber of SIMD Move Elimination candidate uops
414cc0c1555SSean Brunothat were eliminated.
415cc0c1555SSean Bruno.It Li CPL_CYCLES.RING0
416cc0c1555SSean Bruno.Pq Event 5CH , Umask 02H
417cc0c1555SSean BrunoUnhalted core cycles when the thread is in ring 0.
418cc0c1555SSean Bruno.It Li CPL_CYCLES.RING123
419cc0c1555SSean Bruno.Pq Event 5CH , Umask 01H
420cc0c1555SSean BrunoUnhalted core cycles when the thread is not in ring 0.
421cc0c1555SSean Bruno.It Li RS_EVENTS.EMPTY_CYCLES
422cc0c1555SSean Bruno.Pq Event 5EH , Umask 01H
423cc0c1555SSean BrunoCycles the RS is empty for the thread.
424cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD
425cc0c1555SSean Bruno.Pq Event 60H , Umask 01H
426*0b129325SGordon BerglingOffcore outstanding Demand Data Read transactions in SQ to uncore.
427*0b129325SGordon BerglingSet Cmask=1 to count cycles.
428cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_CORE_RD
429cc0c1555SSean Bruno.Pq Event 60H , Umask 02H
430*0b129325SGordon BerglingOffcore outstanding Demand code Read transactions in SQ to uncore.
431*0b129325SGordon BerglingSet Cmask=1 to count cycles.
432cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_RFO
433cc0c1555SSean Bruno.Pq Event 60H , Umask 04H
434*0b129325SGordon BerglingOffcore outstanding RFO store transactions in SQ to uncore.
435*0b129325SGordon BerglingSet Cmask=1 to count cycles.
436cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD
437cc0c1555SSean Bruno.Pq Event 60H , Umask 08H
438*0b129325SGordon BerglingOffcore outstanding cacheable data read transactions in SQ to uncore.
439*0b129325SGordon BerglingSet Cmask=1 to count cycles.
440cc0c1555SSean Bruno.It Li LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION
441cc0c1555SSean Bruno.Pq Event 63H , Umask 01H
442*0b129325SGordon BerglingCycles in which the L1D and L2 are locked, due to a UC lock or split lock.
443cc0c1555SSean Bruno.It Li LOCK_CYCLES.CACHE_LOCK_DURATION
444cc0c1555SSean Bruno.Pq Event 63H , Umask 02H
445cc0c1555SSean BrunoCycles in which the L1D is locked.
446cc0c1555SSean Bruno.It Li IDQ.EMPTY
447cc0c1555SSean Bruno.Pq Event 79H , Umask 02H
448cc0c1555SSean BrunoCounts cycles the IDQ is empty.
449cc0c1555SSean Bruno.It Li IDQ.MITE_UOPS
450cc0c1555SSean Bruno.Pq Event 79H , Umask 04H
451*0b129325SGordon BerglingIncrement each cycle # of uops delivered to IDQ from MITE path.
452cc0c1555SSean BrunoSet Cmask = 1 to count cycles.
453cc0c1555SSean Bruno.It Li IDQ.DSB_UOPS
454cc0c1555SSean Bruno.Pq Event 79H , Umask 08H
455cc0c1555SSean BrunoIncrement each cycle. # of uops delivered to IDQ
456cc0c1555SSean Brunofrom DSB path.
457cc0c1555SSean BrunoSet Cmask = 1 to count cycles.
458cc0c1555SSean Bruno.It Li IDQ.MS_DSB_UOPS
459cc0c1555SSean Bruno.Pq Event 79H , Umask 10H
460*0b129325SGordon BerglingIncrement each cycle # of uops delivered to IDQ when MS_busy by DSB.
461*0b129325SGordon BerglingSet Cmask = 1 to count cycles.
462*0b129325SGordon BerglingAdd Edge=1 to count # of delivery.
463cc0c1555SSean Bruno.It Li IDQ.MS_MITE_UOPS
464cc0c1555SSean Bruno.Pq Event 79H , Umask 20H
465*0b129325SGordon Berglingncrement each cycle # of uops delivered to IDQ when MS_busy by MITE.
466*0b129325SGordon BerglingSet Cmask = 1 to count cycles.
467cc0c1555SSean Bruno.It Li IDQ.MS_UOPS
468cc0c1555SSean Bruno.Pq Event 79H , Umask 30H
469*0b129325SGordon BerglingIncrement each cycle # of uops delivered to IDQ from MS by either DSB or MITE.
470*0b129325SGordon BerglingSet Cmask = 1 to count cycles.
471cc0c1555SSean Bruno.It Li IDQ.ALL_DSB_CYCLES_ANY_UOPS
472cc0c1555SSean Bruno.Pq Event 79H , Umask 18H
473*0b129325SGordon BerglingCounts cycles DSB is delivered at least one uops.
474*0b129325SGordon BerglingSet Cmask = 1.
475cc0c1555SSean Bruno.It Li IDQ.ALL_DSB_CYCLES_4_UOPS
476cc0c1555SSean Bruno.Pq Event 79H , Umask 18H
477*0b129325SGordon BerglingCounts cycles DSB is delivered four uops.
478*0b129325SGordon BerglingSet Cmask=4.
479cc0c1555SSean Bruno.It Li IDQ.ALL_MITE_CYCLES_ANY_UOPS
480cc0c1555SSean Bruno.Pq Event 79H , Umask 24H
481*0b129325SGordon BerglingCounts cycles MITE is delivered at least one uops.
482*0b129325SGordon BerglingSet Cmask = 1.
483cc0c1555SSean Bruno.It Li IDQ.ALL_MITE_CYCLES_4_UOPS
484cc0c1555SSean Bruno.Pq Event 79H , Umask 24H
485*0b129325SGordon BerglingCounts cycles MITE is delivered four uops.
486*0b129325SGordon BerglingSet Cmask =4.
487cc0c1555SSean Bruno.It Li IDQ.MITE_ALL_UOPS
488cc0c1555SSean Bruno.Pq Event 79H , Umask 3CH
489cc0c1555SSean Bruno# of uops delivered to IDQ from any path.
490cc0c1555SSean Bruno.It Li ICACHE.MISSES
491cc0c1555SSean Bruno.Pq Event 80H , Umask 02H
492*0b129325SGordon BerglingNumber of Instruction Cache, Streaming Buffer and Victim Cache Misses.
493*0b129325SGordon BerglingIncludes UC accesses.
494cc0c1555SSean Bruno.It Li ITLB_MISSES.MISS_CAUSES_A_WALK
495cc0c1555SSean Bruno.Pq Event 85H , Umask 01H
496cc0c1555SSean BrunoMisses in ITLB that causes a page walk of any page
497cc0c1555SSean Brunosize.
498cc0c1555SSean Bruno.It Li ITLB_MISSES.WALK_COMPLETED_4K
499cc0c1555SSean Bruno.Pq Event 85H , Umask 02H
500cc0c1555SSean BrunoCompleted page walks due to misses in ITLB 4K page
501cc0c1555SSean Brunoentries.
502cc0c1555SSean Bruno.It Li TLB_MISSES.WALK_COMPLETED_2M_4M
503cc0c1555SSean Bruno.Pq Event 85H , Umask 04H
504cc0c1555SSean BrunoCompleted page walks due to misses in ITLB 2M/4M
505cc0c1555SSean Brunopage entries.
506cc0c1555SSean Bruno.It Li ITLB_MISSES.WALK_COMPLETED
507cc0c1555SSean Bruno.Pq Event 85H , Umask 0EH
508cc0c1555SSean BrunoCompleted page walks in ITLB of any page size.
509cc0c1555SSean Bruno.It Li ITLB_MISSES.WALK_DURATION
510cc0c1555SSean Bruno.Pq Event 85H , Umask 10H
511cc0c1555SSean BrunoCycle PMH is busy with a walk.
512cc0c1555SSean Bruno.It Li ITLB_MISSES.STLB_HIT_4K
513cc0c1555SSean Bruno.Pq Event 85H , Umask 20H
514cc0c1555SSean BrunoITLB misses that hit STLB (4K).
515cc0c1555SSean Bruno.It Li ITLB_MISSES.STLB_HIT_2M
516cc0c1555SSean Bruno.Pq Event 85H , Umask 40H
517cc0c1555SSean BrunoITLB misses that hit STLB (2K).
518cc0c1555SSean Bruno.It Li ITLB_MISSES.STLB_HIT
519cc0c1555SSean Bruno.Pq Event 85H , Umask 60H
520*0b129325SGordon BerglingTLB misses that hit STLB.
521*0b129325SGordon BerglingNo page walk.
522cc0c1555SSean Bruno.It Li ILD_STALL.LCP
523cc0c1555SSean Bruno.Pq Event 87H , Umask 01H
524cc0c1555SSean BrunoStalls caused by changing prefix length of the
525cc0c1555SSean Brunoinstruction.
526cc0c1555SSean Bruno.It Li ILD_STALL.IQ_FULL
527cc0c1555SSean Bruno.Pq Event 87H , Umask 04H
528cc0c1555SSean BrunoStall cycles due to IQ is full.
5299e60f3acSRyan Stone.It Li BR_INST_EXEC.NONTAKEN_COND
5309e60f3acSRyan Stone.Pq Event 88H , Umask 41H
5319e60f3acSRyan StoneCount conditional near branch instructions that were executed (but not
5329e60f3acSRyan Stonenecessarily retired) and not taken.
5339e60f3acSRyan Stone.It Li BR_INST_EXEC.TAKEN_COND
5349e60f3acSRyan Stone.Pq Event 88H , Umask 81H
5359e60f3acSRyan StoneCount conditional near branch instructions that were executed (but not
5369e60f3acSRyan Stonenecessarily retired) and taken.
537cc0c1555SSean Bruno.It Li BR_INST_EXEC.DIRECT_JMP
5389e60f3acSRyan Stone.Pq Event 88H , Umask 82H
5399e60f3acSRyan StoneCount all unconditional near branch instructions excluding calls and
5409e60f3acSRyan Stoneindirect branches.
541cc0c1555SSean Bruno.It Li BR_INST_EXEC.INDIRECT_JMP_NON_CALL_RET
5429e60f3acSRyan Stone.Pq Event 88H , Umask 84H
5439e60f3acSRyan StoneCount executed indirect near branch instructions that are not calls nor
5449e60f3acSRyan Stonereturns.
545cc0c1555SSean Bruno.It Li BR_INST_EXEC.RETURN_NEAR
5469e60f3acSRyan Stone.Pq Event 88H , Umask 88H
5479e60f3acSRyan StoneCount indirect near branches that have a return mnemonic.
548cc0c1555SSean Bruno.It Li BR_INST_EXEC.DIRECT_NEAR_CALL
5499e60f3acSRyan Stone.Pq Event 88H , Umask 90H
5509e60f3acSRyan StoneCount unconditional near call branch instructions, excluding non call
5519e60f3acSRyan Stonebranch, executed.
552cc0c1555SSean Bruno.It Li BR_INST_EXEC.INDIRECT_NEAR_CALL
5539e60f3acSRyan Stone.Pq Event 88H , Umask A0H
5549e60f3acSRyan StoneCount indirect near calls, including both register and memory indirect,
5559e60f3acSRyan Stoneexecuted.
556cc0c1555SSean Bruno.It Li BR_INST_EXEC.ALL_BRANCHES
557cc0c1555SSean Bruno.Pq Event 88H , Umask FFH
5589e60f3acSRyan StoneCounts all near executed branches (not necessarily retired).
5599e60f3acSRyan Stone.It Li BR_MISP_EXEC.NONTAKEN_COND
5609e60f3acSRyan Stone.Pq Event 89H , Umask 41H
5619e60f3acSRyan StoneCount conditional near branch instructions mispredicted as nontaken.
5629e60f3acSRyan Stone.It Li BR_MISP_EXEC.TAKEN_COND
5639e60f3acSRyan Stone.Pq Event 89H , Umask 81H
5649e60f3acSRyan StoneCount conditional near branch instructions mispredicted as taken.
565cc0c1555SSean Bruno.It Li BR_MISP_EXEC.INDIRECT_JMP_NON_CALL_RET
5669e60f3acSRyan Stone.Pq Event 89H , Umask 84H
5679e60f3acSRyan StoneCount mispredicted indirect near branch instructions that are not calls
5689e60f3acSRyan Stonenor returns.
569cc0c1555SSean Bruno.It Li BR_MISP_EXEC.RETURN_NEAR
5709e60f3acSRyan Stone.Pq Event 89H , Umask 88H
5719e60f3acSRyan StoneCount mispredicted indirect near branches that have a return mnemonic.
572cc0c1555SSean Bruno.It Li BR_MISP_EXEC.DIRECT_NEAR_CALL
5739e60f3acSRyan Stone.Pq Event 89H , Umask 90H
5749e60f3acSRyan StoneCount mispredicted unconditional near call branch instructions, excluding
5759e60f3acSRyan Stonenon call branch, executed.
576cc0c1555SSean Bruno.It Li BR_MISP_EXEC.INDIRECT_NEAR_CALL
5779e60f3acSRyan Stone.Pq Event 89H , Umask A0H
5789e60f3acSRyan StoneCount mispredicted indirect near calls, including both register and memory
5799e60f3acSRyan Stoneindirect, executed.
580cc0c1555SSean Bruno.It Li BR_MISP_EXEC.ALL_BRANCHES
581cc0c1555SSean Bruno.Pq Event 89H , Umask FFH
5829e60f3acSRyan StoneCounts all mispredicted near executed branches (not necessarily retired).
583cc0c1555SSean Bruno.It Li IDQ_UOPS_NOT_DELIVERED.CORE
584cc0c1555SSean Bruno.Pq Event 9CH , Umask 01H
585cc0c1555SSean BrunoCount number of non-delivered uops to RAT per
586cc0c1555SSean Brunothread.
587cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_0
588cc0c1555SSean Bruno.Pq Event A1H , Umask 01H
589cc0c1555SSean BrunoCycles which a Uop is dispatched on port 0 in this
590cc0c1555SSean Brunothread.
591cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_1
592cc0c1555SSean Bruno.Pq Event A1H , Umask 02H
593cc0c1555SSean BrunoCycles which a Uop is dispatched on port 1 in this
594cc0c1555SSean Brunothread.
595cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_2
596cc0c1555SSean Bruno.Pq Event A1H , Umask 04H
597cc0c1555SSean BrunoCycles which a Uop is dispatched on port 2 in this
598cc0c1555SSean Brunothread.
599cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_3
600cc0c1555SSean Bruno.Pq Event A1H , Umask 08H
601cc0c1555SSean BrunoCycles which a Uop is dispatched on port 3 in this
602cc0c1555SSean Brunothread.
603cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_4
604cc0c1555SSean Bruno.Pq Event A1H , Umask 10H
605cc0c1555SSean BrunoCycles which a Uop is dispatched on port 4 in this
606cc0c1555SSean Brunothread.
607cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_5
608cc0c1555SSean Bruno.Pq Event A1H , Umask 20H
609cc0c1555SSean BrunoCycles which a Uop is dispatched on port 5 in this
610cc0c1555SSean Brunothread.
611cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_6
612cc0c1555SSean Bruno.Pq Event A1H , Umask 40H
613cc0c1555SSean BrunoCycles which a Uop is dispatched on port 6 in this
614cc0c1555SSean Brunothread.
615cc0c1555SSean Bruno.It Li UOPS_EXECUTED_PORT.PORT_7
616cc0c1555SSean Bruno.Pq Event A1H , Umask 80H
617cc0c1555SSean BrunoCycles which a Uop is dispatched on port 7 in this
618cc0c1555SSean Brunothread.
619cc0c1555SSean Bruno.It Li RESOURCE_STALLS.ANY
620cc0c1555SSean Bruno.Pq Event A2H , Umask 01H
621cc0c1555SSean BrunoCycles Allocation is stalled due to Resource Related
622cc0c1555SSean Brunoreason.
623cc0c1555SSean Bruno.It Li RESOURCE_STALLS.RS
624cc0c1555SSean Bruno.Pq Event A2H , Umask 04H
625cc0c1555SSean BrunoCycles stalled due to no eligible RS entry available.
626cc0c1555SSean Bruno.It Li RESOURCE_STALLS.SB
627cc0c1555SSean Bruno.Pq Event A2H , Umask 08H
628cc0c1555SSean BrunoCycles stalled due to no store buffers available (not
629cc0c1555SSean Brunoincluding draining form sync).
630cc0c1555SSean Bruno.It Li RESOURCE_STALLS.ROB
631cc0c1555SSean Bruno.Pq Event A2H , Umask 10H
632cc0c1555SSean BrunoCycles stalled due to re-order buffer full.
633cc0c1555SSean Bruno.It Li CYCLE_ACTIVITY.CYCLES_L2_PENDING
634cc0c1555SSean Bruno.Pq Event A3H , Umask 01H
635*0b129325SGordon BerglingCycles with pending L2 miss loads.
636*0b129325SGordon BerglingSet Cmask=2 to count cycle.
637cc0c1555SSean Bruno.It Li CYCLE_ACTIVITY.CYCLES_LDM_PENDING
638cc0c1555SSean Bruno.Pq Event A3H , Umask 02H
639*0b129325SGordon BerglingCycles with pending memory loads.
640*0b129325SGordon BerglingSet Cmask=2 to count cycle.
641cc0c1555SSean Bruno.It Li CYCLE_ACTIVITY.STALLS_L2_PENDING
642cc0c1555SSean Bruno.Pq Event A3H , Umask 05H
643cc0c1555SSean BrunoNumber of loads missed L2.
644cc0c1555SSean Bruno.It Li CYCLE_ACTIVITY.CYCLES_L1D_PENDING
645cc0c1555SSean Bruno.Pq Event A3H , Umask 08H
646*0b129325SGordon BerglingCycles with pending L1 cache miss loads.
647*0b129325SGordon BerglingSet Cmask=8 to count cycle.
648cc0c1555SSean Bruno.It Li ITLB.ITLB_FLUSH
649cc0c1555SSean Bruno.Pq Event AEH , Umask 01H
650cc0c1555SSean BrunoCounts the number of ITLB flushes, includes
651cc0c1555SSean Bruno4k/2M/4M pages.
652cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS.DEMAND_DATA_RD
653cc0c1555SSean Bruno.Pq Event B0H , Umask 01H
654cc0c1555SSean BrunoDemand data read requests sent to uncore.
655cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS.DEMAND_CODE_RD
656cc0c1555SSean Bruno.Pq Event B0H , Umask 02H
657cc0c1555SSean BrunoDemand code read requests sent to uncore.
658cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS.DEMAND_RFO
659cc0c1555SSean Bruno.Pq Event B0H , Umask 04H
660cc0c1555SSean BrunoDemand RFO read requests sent to uncore, including
661cc0c1555SSean Brunoregular RFOs, locks, ItoM.
662cc0c1555SSean Bruno.It Li OFFCORE_REQUESTS.ALL_DATA_RD
663cc0c1555SSean Bruno.Pq Event B0H , Umask 08H
664cc0c1555SSean BrunoData read requests sent to uncore (demand and
665cc0c1555SSean Brunoprefetch).
666cc0c1555SSean Bruno.It Li UOPS_EXECUTED.CORE
667cc0c1555SSean Bruno.Pq Event B1H , Umask 02H
668cc0c1555SSean BrunoCounts total number of uops to be executed per-core
669cc0c1555SSean Brunoeach cycle.
670cc0c1555SSean Bruno.It Li OFF_CORE_RESPONSE_0
671cc0c1555SSean Bruno.Pq Event B7H , Umask 01H
672cc0c1555SSean BrunoRequires MSR 01A6H
673cc0c1555SSean Bruno.It Li OFF_CORE_RESPONSE_1
674cc0c1555SSean Bruno.Pq Event BBH , Umask 01H
675cc0c1555SSean BrunoRequires MSR 01A7H
676cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.DTLB_L1
677cc0c1555SSean Bruno.Pq Event BCH , Umask 11H
678cc0c1555SSean BrunoNumber of DTLB page walker loads that hit in the
679cc0c1555SSean BrunoL1+FB.
680cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.ITLB_L1
681cc0c1555SSean Bruno.Pq Event BCH , Umask 21H
682cc0c1555SSean BrunoNumber of ITLB page walker loads that hit in the
683cc0c1555SSean BrunoL1+FB.
684cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.DTLB_L2
685cc0c1555SSean Bruno.Pq Event BCH , Umask 12H
686cc0c1555SSean BrunoNumber of DTLB page walker loads that hit in the L2.
687cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.ITLB_L2
688cc0c1555SSean Bruno.Pq Event BCH , Umask 22H
689cc0c1555SSean BrunoNumber of ITLB page walker loads that hit in the L2.
690cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.DTLB_L3
691cc0c1555SSean Bruno.Pq Event BCH , Umask 14H
692cc0c1555SSean BrunoNumber of DTLB page walker loads that hit in the L3.
693cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.ITLB_L3
694cc0c1555SSean Bruno.Pq Event BCH , Umask 24H
695cc0c1555SSean BrunoNumber of ITLB page walker loads that hit in the L3.
696cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.DTLB_MEMORY
697cc0c1555SSean Bruno.Pq Event BCH , Umask 18H
698cc0c1555SSean BrunoNumber of DTLB page walker loads from memory.
699cc0c1555SSean Bruno.It Li PAGE_WALKER_LOADS.ITLB_MEMORY
700cc0c1555SSean Bruno.Pq Event BCH , Umask 28H
701cc0c1555SSean BrunoNumber of ITLB page walker loads from memory.
702cc0c1555SSean Bruno.It Li TLB_FLUSH.DTLB_THREAD
703cc0c1555SSean Bruno.Pq Event BDH , Umask 01H
704cc0c1555SSean BrunoDTLB flush attempts of the thread-specific entries.
705cc0c1555SSean Bruno.It Li TLB_FLUSH.STLB_ANY
706cc0c1555SSean Bruno.Pq Event BDH , Umask 20H
707cc0c1555SSean BrunoCount number of STLB flush attempts.
708cc0c1555SSean Bruno.It Li INST_RETIRED.ANY_P
709cc0c1555SSean Bruno.Pq Event C0H , Umask 00H
710cc0c1555SSean BrunoNumber of instructions at retirement.
711cc0c1555SSean Bruno.It Li INST_RETIRED.ALL
712cc0c1555SSean Bruno.Pq Event C0H , Umask 01H
713cc0c1555SSean BrunoPrecise instruction retired event with HW to reduce
714cc0c1555SSean Brunoeffect of PEBS shadow in IP distribution.
715cc0c1555SSean Bruno.It Li OTHER_ASSISTS.AVX_TO_SSE
716cc0c1555SSean Bruno.Pq Event C1H , Umask 08H
717cc0c1555SSean BrunoNumber of transitions from AVX-256 to legacy SSE
718cc0c1555SSean Brunowhen penalty applicable.
719cc0c1555SSean Bruno.It Li OTHER_ASSISTS.SSE_TO_AVX
720cc0c1555SSean Bruno.Pq Event C1H , Umask 10H
721cc0c1555SSean BrunoNumber of transitions from SSE to AVX-256 when
722cc0c1555SSean Brunopenalty applicable.
723cc0c1555SSean Bruno.It Li OTHER_ASSISTS.ANY_WB_ASSIST
724cc0c1555SSean Bruno.Pq Event C1H , Umask 40H
725cc0c1555SSean BrunoNumber of microcode assists invoked by HW upon
726cc0c1555SSean Brunouop writeback.
727cc0c1555SSean Bruno.It Li UOPS_RETIRED.ALL
728cc0c1555SSean Bruno.Pq Event C2H , Umask 01H
729cc0c1555SSean BrunoCounts the number of micro-ops retired, Use
730cc0c1555SSean Brunocmask=1 and invert to count active cycles or stalled
731cc0c1555SSean Brunocycles.
732cc0c1555SSean Bruno.It Li UOPS_RETIRED.RETIRE_SLOTS
733cc0c1555SSean Bruno.Pq Event C2H , Umask 02H
734cc0c1555SSean BrunoCounts the number of retirement slots used each
735cc0c1555SSean Brunocycle.
736cc0c1555SSean Bruno.It Li MACHINE_CLEARS.MEMORY_ORDERING
737cc0c1555SSean Bruno.Pq Event C3H , Umask 02H
738cc0c1555SSean BrunoCounts the number of machine clears due to memory
739cc0c1555SSean Brunoorder conflicts.
740cc0c1555SSean Bruno.It Li MACHINE_CLEARS.SMC
741cc0c1555SSean Bruno.Pq Event C3H , Umask 04H
742cc0c1555SSean BrunoNumber of self-modifying-code machine clears
743cc0c1555SSean Brunodetected.
744cc0c1555SSean Bruno.It Li MACHINE_CLEARS.MASKMOV
745cc0c1555SSean Bruno.Pq Event C3H , Umask 20H
746cc0c1555SSean BrunoCounts the number of executed AVX masked load
747cc0c1555SSean Brunooperations that refer to an illegal address range with
748cc0c1555SSean Brunothe mask bits set to 0.
749cc0c1555SSean Bruno.It Li BR_INST_RETIRED.ALL_BRANCHES
750cc0c1555SSean Bruno.Pq Event C4H , Umask 00H
751cc0c1555SSean BrunoBranch instructions at retirement.
752cc0c1555SSean Bruno.It Li BR_INST_RETIRED.CONDITIONAL
753cc0c1555SSean Bruno.Pq Event C4H , Umask 01H
754cc0c1555SSean BrunoCounts the number of conditional branch instructions Supports PEBS
755cc0c1555SSean Brunoretired.
756cc0c1555SSean Bruno.It Li BR_INST_RETIRED.NEAR_CALL
757cc0c1555SSean Bruno.Pq Event C4H , Umask 02H
758cc0c1555SSean BrunoDirect and indirect near call instructions retired.
759cc0c1555SSean Bruno.It Li BR_INST_RETIRED.ALL_BRANCHES
760cc0c1555SSean Bruno.Pq Event C4H , Umask 04H
761cc0c1555SSean BrunoCounts the number of branch instructions retired.
762cc0c1555SSean Bruno.It Li BR_INST_RETIRED.NEAR_RETURN
763cc0c1555SSean Bruno.Pq Event C4H , Umask 08H
764cc0c1555SSean BrunoCounts the number of near return instructions
765cc0c1555SSean Brunoretired.
766cc0c1555SSean Bruno.It Li BR_INST_RETIRED.NOT_TAKEN
767cc0c1555SSean Bruno.Pq Event C4H , Umask 10H
768cc0c1555SSean BrunoCounts the number of not taken branch instructions
769cc0c1555SSean Brunoretired.
770cc0c1555SSean Bruno It Li BR_INST_RETIRED.NEAR_TAKEN
771cc0c1555SSean Bruno.Pq Event C4H , Umask 20H
772cc0c1555SSean BrunoNumber of near taken branches retired.
773cc0c1555SSean Bruno.It Li BR_INST_RETIRED.FAR_BRANCH
774cc0c1555SSean Bruno.Pq Event C4H , Umask 40H
775cc0c1555SSean BrunoNumber of far branches retired.
776cc0c1555SSean Bruno.It Li BR_MISP_RETIRED.ALL_BRANCHES
777cc0c1555SSean Bruno.Pq Event C5H , Umask 00H
778cc0c1555SSean BrunoMispredicted branch instructions at retirement
779cc0c1555SSean Bruno.It Li BR_MISP_RETIRED.CONDITIONAL
780cc0c1555SSean Bruno.Pq Event C5H , Umask 01H
781cc0c1555SSean BrunoMispredicted conditional branch instructions retired.
782cc0c1555SSean Bruno.It Li BR_MISP_RETIRED.CONDITIONAL
783cc0c1555SSean Bruno.Pq Event C5H , Umask 04H
784cc0c1555SSean BrunoMispredicted macro branch instructions retired.
785cc0c1555SSean Bruno.It Li FP_ASSIST.X87_OUTPUT
786cc0c1555SSean Bruno.Pq Event CAH , Umask 02H
787cc0c1555SSean BrunoNumber of X87 FP assists due to Output values.
788cc0c1555SSean Bruno.It Li FP_ASSIST.X87_INPUT
789cc0c1555SSean Bruno.Pq Event CAH , Umask 04H
790cc0c1555SSean BrunoNumber of X87 FP assists due to input values.
791cc0c1555SSean Bruno.It Li FP_ASSIST.SIMD_OUTPUT
792cc0c1555SSean Bruno.Pq Event CAH , Umask 08H
793cc0c1555SSean BrunoNumber of SIMD FP assists due to Output values.
794cc0c1555SSean Bruno.It Li FP_ASSIST.SIMD_INPUT
795cc0c1555SSean Bruno.Pq Event CAH , Umask 10H
796cc0c1555SSean BrunoNumber of SIMD FP assists due to input values.
797cc0c1555SSean Bruno.It Li FP_ASSIST.ANY
798cc0c1555SSean Bruno.Pq Event CAH , Umask 1EH
799cc0c1555SSean BrunoCycles with any input/output SSE* or FP assists.
800cc0c1555SSean Bruno.It Li ROB_MISC_EVENTS.LBR_INSERTS
801cc0c1555SSean Bruno.Pq Event CCH , Umask 20H
802cc0c1555SSean BrunoCount cases of saving new LBR records by hardware.
803cc0c1555SSean Bruno.It Li MEM_TRANS_RETIRED.LOAD_LATENCY
804cc0c1555SSean Bruno.Pq Event CDH , Umask 01H
805*0b129325SGordon BerglingRandomly sampled loads whose latency is above a user defined threshold.
806*0b129325SGordon BerglingA small fraction of the overall loads are sampled due to randomization.
807bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.STLB_MISS_LOADS
808bc0ad9a9SRyan Stone.Pq Event D0H , Umask 11H
809bc0ad9a9SRyan StoneCount retired load uops that missed the STLB.
810bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.STLB_MISS_STORES
811bc0ad9a9SRyan Stone.Pq Event D0H , Umask 12H
812bc0ad9a9SRyan StoneCount retired store uops that missed the STLB.
813bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.SPLIT_LOADS
814bc0ad9a9SRyan Stone.Pq Event D0H , Umask 41H
815bc0ad9a9SRyan StoneCount retired load uops that were split across a cache line.
816bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.SPLIT_STORES
817bc0ad9a9SRyan Stone.Pq Event D0H , Umask 42H
818bc0ad9a9SRyan StoneCount retired store uops that were split across a cache line.
819bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.ALL_LOADS
820bc0ad9a9SRyan Stone.Pq Event D0H , Umask 81H
821bc0ad9a9SRyan StoneCount all retired load uops.
822bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.ALL_STORES
823bc0ad9a9SRyan Stone.Pq Event D0H , Umask 82H
824bc0ad9a9SRyan StoneCount all retired store uops.
825cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.L1_HIT
826cc0c1555SSean Bruno.Pq Event D1H , Umask 01H
827cc0c1555SSean BrunoRetired load uops with L1 cache hits as data sources.
828cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.L2_HIT
829cc0c1555SSean Bruno.Pq Event D1H , Umask 02H
830cc0c1555SSean BrunoRetired load uops with L2 cache hits as data sources.
831cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.LLC_HIT
832cc0c1555SSean Bruno.Pq Event D1H , Umask 04H
833cc0c1555SSean BrunoRetired load uops with LLC cache hits as data
834cc0c1555SSean Brunosources.
835cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.L2_MISS
836cc0c1555SSean Bruno.Pq Event D1H , Umask 10H
837*0b129325SGordon BerglingRetired load uops missed L2.
838*0b129325SGordon BerglingUnknown data source excluded.
839cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.HIT_LFB
840cc0c1555SSean Bruno.Pq Event D1H , Umask 40H
841cc0c1555SSean BrunoRetired load uops which data sources were load uops
842cc0c1555SSean Brunomissed L1 but hit FB due to preceding miss to the
843cc0c1555SSean Brunosame cache line with data not ready.
844cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_MISS
845cc0c1555SSean Bruno.Pq Event D2H , Umask 01H
846cc0c1555SSean BrunoRetired load uops which data sources were LLC hit
847cc0c1555SSean Brunoand cross-core snoop missed in on-pkg core cache.
848cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT
849cc0c1555SSean Bruno.Pq Event D2H , Umask 02H
850cc0c1555SSean BrunoRetired load uops which data sources were LLC and
851cc0c1555SSean Brunocross-core snoop hits in on-pkg core cache.
852cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM
853cc0c1555SSean Bruno.Pq Event D2H , Umask 04H
854cc0c1555SSean BrunoRetired load uops which data sources were HitM
855cc0c1555SSean Brunoresponses from shared LLC.
856cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_NONE
857cc0c1555SSean Bruno.Pq Event D2H , Umask 08H
858cc0c1555SSean BrunoRetired load uops which data sources were hits in
859cc0c1555SSean BrunoLLC without snoops required.
860cc0c1555SSean Bruno.It Li MEM_LOAD_UOPS_LLC_MISS_RETIRED.LOCAL_DRAM
861cc0c1555SSean Bruno.Pq Event D3H , Umask 01H
862cc0c1555SSean BrunoRetired load uops which data sources missed LLC but
863cc0c1555SSean Brunoserviced from local dram.
864cc0c1555SSean Bruno.It Li BACLEARS.ANY
865cc0c1555SSean Bruno.Pq Event E6H , Umask 1FH
866cc0c1555SSean BrunoNumber of front end re-steers due to BPU
867cc0c1555SSean Brunomisprediction.
868cc0c1555SSean Bruno.It Li L2_TRANS.DEMAND_DATA_RD
869cc0c1555SSean Bruno.Pq Event F0H , Umask 01H
870cc0c1555SSean BrunoDemand Data Read requests that access L2 cache.
871cc0c1555SSean Bruno.It Li L2_TRANS.RFO
872cc0c1555SSean Bruno.Pq Event F0H , Umask 02H
873cc0c1555SSean BrunoRFO requests that access L2 cache.
874cc0c1555SSean Bruno.It Li L2_TRANS.CODE_RD
875cc0c1555SSean Bruno.Pq Event F0H , Umask 04H
876cc0c1555SSean BrunoL2 cache accesses when fetching instructions.
877cc0c1555SSean Bruno.It Li L2_TRANS.ALL_PF
878cc0c1555SSean Bruno.Pq Event F0H , Umask 08H
879cc0c1555SSean BrunoAny MLC or LLC HW prefetch accessing L2, including
880cc0c1555SSean Brunorejects.
881cc0c1555SSean Bruno.It Li L2_TRANS.L1D_WB
882cc0c1555SSean Bruno.Pq Event F0H , Umask 10H
883cc0c1555SSean BrunoL1D writebacks that access L2 cache.
884cc0c1555SSean Bruno.It Li L2_TRANS.L2_FILL
885cc0c1555SSean Bruno.Pq Event F0H , Umask 20H
886cc0c1555SSean BrunoL2 fill requests that access L2 cache.
887cc0c1555SSean Bruno.It Li L2_TRANS.L2_WB
888cc0c1555SSean Bruno.Pq Event F0H , Umask 40H
889cc0c1555SSean BrunoL2 writebacks that access L2 cache.
890cc0c1555SSean Bruno.It Li L2_TRANS.ALL_REQUESTS
891cc0c1555SSean Bruno.Pq Event F0H , Umask 80H
892cc0c1555SSean BrunoTransactions accessing L2 pipe.
893cc0c1555SSean Bruno.It Li L2_LINES_IN.I
894cc0c1555SSean Bruno.Pq Event F1H , Umask 01H
895cc0c1555SSean BrunoL2 cache lines in I state filling L2.
896cc0c1555SSean Bruno.It Li L2_LINES_IN.S
897cc0c1555SSean Bruno.Pq Event F1H , Umask 02H
898cc0c1555SSean BrunoL2 cache lines in S state filling L2.
899cc0c1555SSean Bruno.It Li L2_LINES_IN.E
900cc0c1555SSean Bruno.Pq Event F1H , Umask 04H
901cc0c1555SSean BrunoL2 cache lines in E state filling L2.
902cc0c1555SSean Bruno.It Li L2_LINES_IN.ALL
903cc0c1555SSean Bruno.Pq Event F1H , Umask 07H
904cc0c1555SSean BrunoL2 cache lines filling L2.
905cc0c1555SSean Bruno.It Li L2_LINES_OUT.DEMAND_CLEAN
906cc0c1555SSean Bruno.Pq Event F2H , Umask 05H
907cc0c1555SSean BrunoClean L2 cache lines evicted by demand.
908cc0c1555SSean Bruno.It Li L2_LINES_OUT.DEMAND_DIRTY
909cc0c1555SSean Bruno.Pq Event F2H , Umask 06H
910cc0c1555SSean BrunoDirty L2 cache lines evicted by demand.
911cc0c1555SSean Bruno.El
912cc0c1555SSean Bruno.Sh SEE ALSO
913cc0c1555SSean Bruno.Xr pmc 3 ,
914cc0c1555SSean Bruno.Xr pmc.atom 3 ,
915cc0c1555SSean Bruno.Xr pmc.core 3 ,
91673461c24SJoel Dahl.Xr pmc.corei7 3 ,
91773461c24SJoel Dahl.Xr pmc.corei7uc 3 ,
91873461c24SJoel Dahl.Xr pmc.haswelluc 3 ,
919cc0c1555SSean Bruno.Xr pmc.iaf 3 ,
92073461c24SJoel Dahl.Xr pmc.ivybridge 3 ,
92173461c24SJoel Dahl.Xr pmc.ivybridgexeon 3 ,
922cc0c1555SSean Bruno.Xr pmc.k7 3 ,
923cc0c1555SSean Bruno.Xr pmc.k8 3 ,
924cc0c1555SSean Bruno.Xr pmc.p4 3 ,
925cc0c1555SSean Bruno.Xr pmc.p5 3 ,
926cc0c1555SSean Bruno.Xr pmc.p6 3 ,
927cc0c1555SSean Bruno.Xr pmc.sandybridge 3 ,
928cc0c1555SSean Bruno.Xr pmc.sandybridgeuc 3 ,
929cc0c1555SSean Bruno.Xr pmc.sandybridgexeon 3 ,
930cc0c1555SSean Bruno.Xr pmc.soft 3 ,
931cc0c1555SSean Bruno.Xr pmc.tsc 3 ,
93273461c24SJoel Dahl.Xr pmc.ucf 3 ,
93373461c24SJoel Dahl.Xr pmc.westmere 3 ,
93473461c24SJoel Dahl.Xr pmc.westmereuc 3 ,
935cc0c1555SSean Bruno.Xr pmc_cpuinfo 3 ,
936cc0c1555SSean Bruno.Xr pmclog 3 ,
937cc0c1555SSean Bruno.Xr hwpmc 4
938cc0c1555SSean Bruno.Sh HISTORY
939cc0c1555SSean BrunoThe
940cc0c1555SSean Bruno.Nm pmc
941cc0c1555SSean Brunolibrary first appeared in
942cc0c1555SSean Bruno.Fx 6.0 .
943cc0c1555SSean Bruno.Sh AUTHORS
9442b7af31cSBaptiste Daroussin.An -nosplit
945cc0c1555SSean BrunoThe
946cc0c1555SSean Bruno.Lb libpmc
947cc0c1555SSean Brunolibrary was written by
9482b7af31cSBaptiste Daroussin.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org .
949cc0c1555SSean BrunoThe support for the Haswell
950cc0c1555SSean Brunomicroarchitecture was written by
9512b7af31cSBaptiste Daroussin.An Hiren Panchasara Aq Mt hiren.panchasara@gmail.com .
952