xref: /freebsd/lib/libpmc/pmc.ivybridge.3 (revision 1e862e5ad08c64c005e837f00c9fd0b460cc717b)
1*1e862e5aSFabien Thomas.\" Copyright (c) 2012 Fabien Thomas.  All rights reserved.
2*1e862e5aSFabien Thomas.\"
3*1e862e5aSFabien Thomas.\" Redistribution and use in source and binary forms, with or without
4*1e862e5aSFabien Thomas.\" modification, are permitted provided that the following conditions
5*1e862e5aSFabien Thomas.\" are met:
6*1e862e5aSFabien Thomas.\" 1. Redistributions of source code must retain the above copyright
7*1e862e5aSFabien Thomas.\"    notice, this list of conditions and the following disclaimer.
8*1e862e5aSFabien Thomas.\" 2. Redistributions in binary form must reproduce the above copyright
9*1e862e5aSFabien Thomas.\"    notice, this list of conditions and the following disclaimer in the
10*1e862e5aSFabien Thomas.\"    documentation and/or other materials provided with the distribution.
11*1e862e5aSFabien Thomas.\"
12*1e862e5aSFabien Thomas.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13*1e862e5aSFabien Thomas.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14*1e862e5aSFabien Thomas.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15*1e862e5aSFabien Thomas.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16*1e862e5aSFabien Thomas.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17*1e862e5aSFabien Thomas.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
18*1e862e5aSFabien Thomas.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
19*1e862e5aSFabien Thomas.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20*1e862e5aSFabien Thomas.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21*1e862e5aSFabien Thomas.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
22*1e862e5aSFabien Thomas.\" SUCH DAMAGE.
23*1e862e5aSFabien Thomas.\"
24*1e862e5aSFabien Thomas.\" $FreeBSD$
25*1e862e5aSFabien Thomas.\"
26*1e862e5aSFabien Thomas.Dd August 24, 2012
27*1e862e5aSFabien Thomas.Dt PMC.IVYBRIDGE 3
28*1e862e5aSFabien Thomas.Os
29*1e862e5aSFabien Thomas.Sh NAME
30*1e862e5aSFabien Thomas.Nm pmc.ivybridge
31*1e862e5aSFabien Thomas.Nd measurement events for
32*1e862e5aSFabien Thomas.Tn Intel
33*1e862e5aSFabien Thomas.Tn Ivy Bridge
34*1e862e5aSFabien Thomasfamily CPUs
35*1e862e5aSFabien Thomas.Sh LIBRARY
36*1e862e5aSFabien Thomas.Lb libpmc
37*1e862e5aSFabien Thomas.Sh SYNOPSIS
38*1e862e5aSFabien Thomas.In pmc.h
39*1e862e5aSFabien Thomas.Sh DESCRIPTION
40*1e862e5aSFabien Thomas.Tn Intel
41*1e862e5aSFabien Thomas.Tn "Ivy Bridge"
42*1e862e5aSFabien ThomasCPUs contain PMCs conforming to version 2 of the
43*1e862e5aSFabien Thomas.Tn Intel
44*1e862e5aSFabien Thomasperformance measurement architecture.
45*1e862e5aSFabien ThomasThese CPUs may contain up to three classes of PMCs:
46*1e862e5aSFabien Thomas.Bl -tag -width "Li PMC_CLASS_IAP"
47*1e862e5aSFabien Thomas.It Li PMC_CLASS_IAF
48*1e862e5aSFabien ThomasFixed-function counters that count only one hardware event per counter.
49*1e862e5aSFabien Thomas.It Li PMC_CLASS_IAP
50*1e862e5aSFabien ThomasProgrammable counters that may be configured to count one of a defined
51*1e862e5aSFabien Thomasset of hardware events.
52*1e862e5aSFabien Thomas.El
53*1e862e5aSFabien Thomas.Pp
54*1e862e5aSFabien ThomasThe number of PMCs available in each class and their widths need to be
55*1e862e5aSFabien Thomasdetermined at run time by calling
56*1e862e5aSFabien Thomas.Xr pmc_cpuinfo 3 .
57*1e862e5aSFabien Thomas.Pp
58*1e862e5aSFabien ThomasIntel Ivy Bridge PMCs are documented in
59*1e862e5aSFabien Thomas.Rs
60*1e862e5aSFabien Thomas.%B "Intel(R) 64 and IA-32 Architectures Software Developer's Manual"
61*1e862e5aSFabien ThomasIntel(R) 64 and IA-32 Architectures Software Developers Manual"
62*1e862e5aSFabien Thomas.%T "Volume 3B: System Programming Guide, Part 2"
63*1e862e5aSFabien Thomas.%N "Order Number: 253669-043US"
64*1e862e5aSFabien Thomas.%D May 2012
65*1e862e5aSFabien Thomas.%Q "Intel Corporation"
66*1e862e5aSFabien Thomas.Re
67*1e862e5aSFabien Thomas.Ss IVYBRIDGE FIXED FUNCTION PMCS
68*1e862e5aSFabien ThomasThese PMCs and their supported events are documented in
69*1e862e5aSFabien Thomas.Xr pmc.iaf 3 .
70*1e862e5aSFabien Thomas.Ss IVYBRIDGE PROGRAMMABLE PMCS
71*1e862e5aSFabien ThomasThe programmable PMCs support the following capabilities:
72*1e862e5aSFabien Thomas.Bl -column "PMC_CAP_INTERRUPT" "Support"
73*1e862e5aSFabien Thomas.It Em Capability Ta Em Support
74*1e862e5aSFabien Thomas.It PMC_CAP_CASCADE Ta \&No
75*1e862e5aSFabien Thomas.It PMC_CAP_EDGE Ta Yes
76*1e862e5aSFabien Thomas.It PMC_CAP_INTERRUPT Ta Yes
77*1e862e5aSFabien Thomas.It PMC_CAP_INVERT Ta Yes
78*1e862e5aSFabien Thomas.It PMC_CAP_READ Ta Yes
79*1e862e5aSFabien Thomas.It PMC_CAP_PRECISE Ta \&No
80*1e862e5aSFabien Thomas.It PMC_CAP_SYSTEM Ta Yes
81*1e862e5aSFabien Thomas.It PMC_CAP_TAGGING Ta \&No
82*1e862e5aSFabien Thomas.It PMC_CAP_THRESHOLD Ta Yes
83*1e862e5aSFabien Thomas.It PMC_CAP_USER Ta Yes
84*1e862e5aSFabien Thomas.It PMC_CAP_WRITE Ta Yes
85*1e862e5aSFabien Thomas.El
86*1e862e5aSFabien Thomas.Ss Event Qualifiers
87*1e862e5aSFabien ThomasEvent specifiers for these PMCs support the following common
88*1e862e5aSFabien Thomasqualifiers:
89*1e862e5aSFabien Thomas.Bl -tag -width indent
90*1e862e5aSFabien Thomas.It Li rsp= Ns Ar value
91*1e862e5aSFabien ThomasConfigure the Off-core Response bits.
92*1e862e5aSFabien Thomas.Bl -tag -width indent
93*1e862e5aSFabien Thomas.It Li REQ_DMND_DATA_RD
94*1e862e5aSFabien ThomasCounts the number of demand and DCU prefetch data reads of full and partial
95*1e862e5aSFabien Thomascachelines as well as demand data page table entry cacheline reads. Does not
96*1e862e5aSFabien Thomascount L2 data read prefetches or instruction fetches.
97*1e862e5aSFabien Thomas.It Li REQ_DMND_RFO
98*1e862e5aSFabien ThomasCounts the number of demand and DCU prefetch reads for ownership (RFO)
99*1e862e5aSFabien Thomasrequests generated by a write to data cacheline. Does not count L2 RFO
100*1e862e5aSFabien Thomasprefetches.
101*1e862e5aSFabien Thomas.It Li REQ_DMND_IFETCH
102*1e862e5aSFabien ThomasCounts the number of demand and DCU prefetch instruction cacheline reads.
103*1e862e5aSFabien ThomasDoes not count L2 code read prefetches.
104*1e862e5aSFabien Thomas.It Li REQ_WB
105*1e862e5aSFabien ThomasCounts the number of writeback (modified to exclusive) transactions.
106*1e862e5aSFabien Thomas.It Li REQ_PF_DATA_RD
107*1e862e5aSFabien ThomasCounts the number of data cacheline reads generated by L2 prefetchers.
108*1e862e5aSFabien Thomas.It Li REQ_PF_RFO
109*1e862e5aSFabien ThomasCounts the number of RFO requests generated by L2 prefetchers.
110*1e862e5aSFabien Thomas.It Li REQ_PF_IFETCH
111*1e862e5aSFabien ThomasCounts the number of code reads generated by L2 prefetchers.
112*1e862e5aSFabien Thomas.It Li REQ_PF_LLC_DATA_RD
113*1e862e5aSFabien ThomasL2 prefetcher to L3 for loads.
114*1e862e5aSFabien Thomas.It Li REQ_PF_LLC_RFO
115*1e862e5aSFabien ThomasRFO requests generated by L2 prefetcher
116*1e862e5aSFabien Thomas.It Li REQ_PF_LLC_IFETCH
117*1e862e5aSFabien ThomasL2 prefetcher to L3 for instruction fetches.
118*1e862e5aSFabien Thomas.It Li REQ_BUS_LOCKS
119*1e862e5aSFabien ThomasBus lock and split lock requests.
120*1e862e5aSFabien Thomas.It Li REQ_STRM_ST
121*1e862e5aSFabien ThomasStreaming store requests.
122*1e862e5aSFabien Thomas.It Li REQ_OTHER
123*1e862e5aSFabien ThomasAny other request that crosses IDI, including I/O.
124*1e862e5aSFabien Thomas.It Li RES_ANY
125*1e862e5aSFabien ThomasCatch all value for any response types.
126*1e862e5aSFabien Thomas.It Li RES_SUPPLIER_NO_SUPP
127*1e862e5aSFabien ThomasNo Supplier Information available.
128*1e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITM
129*1e862e5aSFabien ThomasM-state initial lookup stat in L3.
130*1e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITE
131*1e862e5aSFabien ThomasE-state.
132*1e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITS
133*1e862e5aSFabien ThomasS-state.
134*1e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITF
135*1e862e5aSFabien ThomasF-state.
136*1e862e5aSFabien Thomas.It Li RES_SUPPLIER_LOCAL
137*1e862e5aSFabien ThomasLocal DRAM Controller.
138*1e862e5aSFabien Thomas.It Li RES_SNOOP_SNPI_NONE
139*1e862e5aSFabien ThomasNo details on snoop-related information.
140*1e862e5aSFabien Thomas.It Li RES_SNOOP_SNP_NO_NEEDED
141*1e862e5aSFabien ThomasNo snoop was needed to satisfy the request.
142*1e862e5aSFabien Thomas.It Li RES_SNOOP_SNP_MISS
143*1e862e5aSFabien ThomasA snoop was needed and it missed all snooped caches:
144*1e862e5aSFabien Thomas-For LLC Hit, ReslHitl was returned by all cores
145*1e862e5aSFabien Thomas-For LLC Miss, Rspl was returned by all sockets and data was returned from
146*1e862e5aSFabien ThomasDRAM.
147*1e862e5aSFabien Thomas.It Li RES_SNOOP_HIT_NO_FWD
148*1e862e5aSFabien ThomasA snoop was needed and it hits in at least one snooped cache. Hit denotes a
149*1e862e5aSFabien Thomascache-line was valid before snoop effect. This includes:
150*1e862e5aSFabien Thomas-Snoop Hit w/ Invalidation (LLC Hit, RFO)
151*1e862e5aSFabien Thomas-Snoop Hit, Left Shared (LLC Hit/Miss, IFetch/Data_RD)
152*1e862e5aSFabien Thomas-Snoop Hit w/ Invalidation and No Forward (LLC Miss, RFO Hit S)
153*1e862e5aSFabien ThomasIn the LLC Miss case, data is returned from DRAM.
154*1e862e5aSFabien Thomas.It Li RES_SNOOP_HIT_FWD
155*1e862e5aSFabien ThomasA snoop was needed and data was forwarded from a remote socket.
156*1e862e5aSFabien ThomasThis includes:
157*1e862e5aSFabien Thomas-Snoop Forward Clean, Left Shared (LLC Hit/Miss, IFetch/Data_RD/RFT).
158*1e862e5aSFabien Thomas.It Li RES_SNOOP_HITM
159*1e862e5aSFabien ThomasA snoop was needed and it HitM-ed in local or remote cache. HitM denotes a
160*1e862e5aSFabien Thomascache-line was in modified state before effect as a results of snoop. This
161*1e862e5aSFabien Thomasincludes:
162*1e862e5aSFabien Thomas-Snoop HitM w/ WB (LLC miss, IFetch/Data_RD)
163*1e862e5aSFabien Thomas-Snoop Forward Modified w/ Invalidation (LLC Hit/Miss, RFO)
164*1e862e5aSFabien Thomas-Snoop MtoS (LLC Hit, IFetch/Data_RD).
165*1e862e5aSFabien Thomas.It Li RES_NON_DRAM
166*1e862e5aSFabien ThomasTarget was non-DRAM system address. This includes MMIO transactions.
167*1e862e5aSFabien Thomas.El
168*1e862e5aSFabien Thomas.It Li cmask= Ns Ar value
169*1e862e5aSFabien ThomasConfigure the PMC to increment only if the number of configured
170*1e862e5aSFabien Thomasevents measured in a cycle is greater than or equal to
171*1e862e5aSFabien Thomas.Ar value .
172*1e862e5aSFabien Thomas.It Li edge
173*1e862e5aSFabien ThomasConfigure the PMC to count the number of de-asserted to asserted
174*1e862e5aSFabien Thomastransitions of the conditions expressed by the other qualifiers.
175*1e862e5aSFabien ThomasIf specified, the counter will increment only once whenever a
176*1e862e5aSFabien Thomascondition becomes true, irrespective of the number of clocks during
177*1e862e5aSFabien Thomaswhich the condition remains true.
178*1e862e5aSFabien Thomas.It Li inv
179*1e862e5aSFabien ThomasInvert the sense of comparison when the
180*1e862e5aSFabien Thomas.Dq Li cmask
181*1e862e5aSFabien Thomasqualifier is present, making the counter increment when the number of
182*1e862e5aSFabien Thomasevents per cycle is less than the value specified by the
183*1e862e5aSFabien Thomas.Dq Li cmask
184*1e862e5aSFabien Thomasqualifier.
185*1e862e5aSFabien Thomas.It Li os
186*1e862e5aSFabien ThomasConfigure the PMC to count events happening at processor privilege
187*1e862e5aSFabien Thomaslevel 0.
188*1e862e5aSFabien Thomas.It Li usr
189*1e862e5aSFabien ThomasConfigure the PMC to count events occurring at privilege levels 1, 2
190*1e862e5aSFabien Thomasor 3.
191*1e862e5aSFabien Thomas.El
192*1e862e5aSFabien Thomas.Pp
193*1e862e5aSFabien ThomasIf neither of the
194*1e862e5aSFabien Thomas.Dq Li os
195*1e862e5aSFabien Thomasor
196*1e862e5aSFabien Thomas.Dq Li usr
197*1e862e5aSFabien Thomasqualifiers are specified, the default is to enable both.
198*1e862e5aSFabien Thomas.Ss Event Specifiers (Programmable PMCs)
199*1e862e5aSFabien ThomasIvy Bridge programmable PMCs support the following events:
200*1e862e5aSFabien Thomas.Bl -tag -width indent
201*1e862e5aSFabien Thomas.It Li LD_BLOCKS.STORE_FORWARD
202*1e862e5aSFabien Thomas.Pq Event 03H , Umask 02H
203*1e862e5aSFabien Thomasloads blocked by overlapping with store buffer that cannot be forwarded .
204*1e862e5aSFabien Thomas.It Li MISALIGN_MEM_REF.LOADS
205*1e862e5aSFabien Thomas.Pq Event 05H , Umask 01H
206*1e862e5aSFabien ThomasSpeculative cache-line split load uops dispatched to L1D.
207*1e862e5aSFabien Thomas.It Li MISALIGN_MEM_REF.STORES
208*1e862e5aSFabien Thomas.Pq Event 05H , Umask 02H
209*1e862e5aSFabien ThomasSpeculative cache-line split Store- address uops dispatched to L1D.
210*1e862e5aSFabien Thomas.It Li LD_BLOCKS_PARTIAL.ADDRESS_ALIAS
211*1e862e5aSFabien Thomas.Pq Event 07H , Umask 01H
212*1e862e5aSFabien ThomasFalse dependencies in MOB due to partial compare on address.
213*1e862e5aSFabien Thomas.It Li DTLB_LOAD_MISSES.DEMAND_LD_MISS_CAUSES_A_WALK
214*1e862e5aSFabien Thomas.Pq Event 08H , Umask 81H
215*1e862e5aSFabien ThomasMisses in all TLB levels that cause a page walk of any page size from demand loads.
216*1e862e5aSFabien Thomas.It Li DTLB_LOAD_MISSES.DEMAND_LD_WALK_COMPLETED
217*1e862e5aSFabien Thomas.Pq Event 08H , Umask 82H
218*1e862e5aSFabien ThomasMisses in all TLB levels that caused page walk completed of any size by demand loads.
219*1e862e5aSFabien Thomas.It Li DTLB_LOAD_MISSES.DEMAND_LD_WALK_DURATION
220*1e862e5aSFabien Thomas.Pq Event 08H , Umask 84H
221*1e862e5aSFabien ThomasCycle PMH is busy with a walk due to demand loads.
222*1e862e5aSFabien Thomas.It Li UOPS_ISSUED.ANY
223*1e862e5aSFabien Thomas.Pq Event 0EH , Umask 01H
224*1e862e5aSFabien ThomasIncrements each cycle the # of Uops issued by the RAT to RS.
225*1e862e5aSFabien ThomasSet Cmask = 1, Inv = 1to count stalled cycles.
226*1e862e5aSFabien ThomasSet Cmask = 1, Inv = 1, Any= 1to count stalled cycles of this core.
227*1e862e5aSFabien Thomas.It Li UOPS_ISSUED.FLAGS_MERGE
228*1e862e5aSFabien Thomas.Pq Event 0EH , Umask 10H
229*1e862e5aSFabien ThomasNumber of flags-merge uops allocated. Such uops adds delay.
230*1e862e5aSFabien Thomas.It Li UOPS_ISSUED.SLOW_LEA
231*1e862e5aSFabien Thomas.Pq Event 0EH , Umask 20H
232*1e862e5aSFabien ThomasNumber of slow LEA or similar uops allocated. Such uop has 3 sources (e.g. 2
233*1e862e5aSFabien Thomassources + immediate) regardless if as a result of LEA instruction or not.
234*1e862e5aSFabien Thomas.It Li UOPS_ISSUED.SINGLE_MUL
235*1e862e5aSFabien Thomas.Pq Event 0EH , Umask 40H
236*1e862e5aSFabien ThomasNumber of multiply packed/scalar single precision uops allocated.
237*1e862e5aSFabien Thomas.It Li ARITH.FPU_DIV_ACTIVE
238*1e862e5aSFabien Thomas.Pq Event 14H , Umask 01H
239*1e862e5aSFabien ThomasCycles that the divider is active, includes INT and FP. Set 'edge =1,
240*1e862e5aSFabien Thomascmask=1' to count the number of divides.
241*1e862e5aSFabien Thomas.It Li L2_RQSTS.DEMAND_DATA_RD_HIT
242*1e862e5aSFabien Thomas.Pq Event 24H , Umask 01H
243*1e862e5aSFabien ThomasDemand Data Read requests that hit L2 cache.
244*1e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_DEMAND_DATA_RD
245*1e862e5aSFabien Thomas.Pq Event 24H , Umask 03H
246*1e862e5aSFabien ThomasCounts any demand and L1 HW prefetch data load requests to L2.
247*1e862e5aSFabien Thomas.It Li L2_RQSTS.RFO_HITS
248*1e862e5aSFabien Thomas.Pq Event 24H , Umask 04H
249*1e862e5aSFabien ThomasCounts the number of store RFO requests that hit the L2 cache.
250*1e862e5aSFabien Thomas.It Li L2_RQSTS.RFO_MISS
251*1e862e5aSFabien Thomas.Pq Event 24H , Umask 08H
252*1e862e5aSFabien ThomasCounts the number of store RFO requests that miss the L2 cache.
253*1e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_RFO
254*1e862e5aSFabien Thomas.Pq Event 24H , Umask 0CH
255*1e862e5aSFabien ThomasCounts all L2 store RFO requests.
256*1e862e5aSFabien Thomas.It Li L2_RQSTS.CODE_RD_HIT
257*1e862e5aSFabien Thomas.Pq Event 24H , Umask 10H
258*1e862e5aSFabien ThomasNumber of instruction fetches that hit the L2 cache.
259*1e862e5aSFabien Thomas.It Li L2_RQSTS.CODE_RD_MISS
260*1e862e5aSFabien Thomas.Pq Event 24H , Umask 20H
261*1e862e5aSFabien ThomasNumber of instruction fetches that missed the L2 cache.
262*1e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_CODE_RD
263*1e862e5aSFabien Thomas.Pq Event 24H , Umask 30H
264*1e862e5aSFabien ThomasCounts all L2 code requests.
265*1e862e5aSFabien Thomas.It Li L2_RQSTS.PF_HIT
266*1e862e5aSFabien Thomas.Pq Event 24H , Umask 40H
267*1e862e5aSFabien ThomasCounts all L2 HW prefetcher requests that hit L2.
268*1e862e5aSFabien Thomas.It Li L2_RQSTS.PF_MISS
269*1e862e5aSFabien Thomas.Pq Event 24H , Umask 80H
270*1e862e5aSFabien ThomasCounts all L2 HW prefetcher requests that missed L2.
271*1e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_PF
272*1e862e5aSFabien Thomas.Pq Event 24H , Umask C0H
273*1e862e5aSFabien ThomasCounts all L2 HW prefetcher requests.
274*1e862e5aSFabien Thomas.It Li L2_STORE_LOCK_RQSTS.MISS
275*1e862e5aSFabien Thomas.Pq Event 27H , Umask 01H
276*1e862e5aSFabien ThomasRFOs that miss cache lines.
277*1e862e5aSFabien Thomas.It Li L2_STORE_LOCK_RQSTS.HIT_M
278*1e862e5aSFabien Thomas.Pq Event 27H , Umask 08H
279*1e862e5aSFabien ThomasRFOs that hit cache lines in M state.
280*1e862e5aSFabien Thomas.It Li L2_STORE_LOCK_RQSTS.ALL
281*1e862e5aSFabien Thomas.Pq Event 27H , Umask 0FH
282*1e862e5aSFabien ThomasRFOs that access cache lines in any state.
283*1e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.MISS
284*1e862e5aSFabien Thomas.Pq Event 28H , Umask 01H
285*1e862e5aSFabien ThomasNot rejected writebacks that missed LLC.
286*1e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.HIT_E
287*1e862e5aSFabien Thomas.Pq Event 28H , Umask 04H
288*1e862e5aSFabien ThomasNot rejected writebacks from L1D to L2 cache lines in E state.
289*1e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.HIT_M
290*1e862e5aSFabien Thomas.Pq Event 28H , Umask 08H
291*1e862e5aSFabien ThomasNot rejected writebacks from L1D to L2 cache lines in M state.
292*1e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.ALL
293*1e862e5aSFabien Thomas.Pq Event 28H , Umask 0FH
294*1e862e5aSFabien ThomasNot rejected writebacks from L1D to L2 cache lines in any state.
295*1e862e5aSFabien Thomas.It Li LONGEST_LAT_CACHE.REFERENCE
296*1e862e5aSFabien Thomas.Pq Event 2EH , Umask 4FH
297*1e862e5aSFabien ThomasThis event counts requests originating from the core that reference a cache
298*1e862e5aSFabien Thomasline in the last level cache.
299*1e862e5aSFabien Thomas.It Li LONGEST_LAT_CACHE.MISS
300*1e862e5aSFabien Thomas.Pq Event 2EH , Umask 41H
301*1e862e5aSFabien ThomasThis event counts each cache miss condition for references to the last level
302*1e862e5aSFabien Thomascache.
303*1e862e5aSFabien Thomas.It Li CPU_CLK_UNHALTED.THREAD_P
304*1e862e5aSFabien Thomas.Pq Event 3CH , Umask 00H
305*1e862e5aSFabien ThomasCounts the number of thread cycles while the thread is not in a halt state.
306*1e862e5aSFabien ThomasThe thread enters the halt state when it is running the HLT instruction. The
307*1e862e5aSFabien Thomascore frequency may change from time to time due to power or thermal
308*1e862e5aSFabien Thomasthrottling.
309*1e862e5aSFabien Thomas.It Li CPU_CLK_THREAD_UNHALTED.REF_XCLK
310*1e862e5aSFabien Thomas.Pq Event 3CH , Umask 01H
311*1e862e5aSFabien ThomasIncrements at the frequency of XCLK (100 MHz) when not halted.
312*1e862e5aSFabien Thomas.It Li L1D_PEND_MISS.PENDING
313*1e862e5aSFabien Thomas.Pq Event 48H , Umask 01H
314*1e862e5aSFabien ThomasIncrements the number of outstanding L1D misses every cycle. Set Cmaks = 1
315*1e862e5aSFabien Thomasand Edge =1 to count occurrences.
316*1e862e5aSFabien ThomasCounter 2 only.
317*1e862e5aSFabien ThomasSet Cmask = 1 to count cycles.
318*1e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.MISS_CAUSES_A_WALK
319*1e862e5aSFabien Thomas.Pq Event 49H , Umask 01H
320*1e862e5aSFabien ThomasMiss in all TLB levels causes an page walk of any page size (4K/2M/4M/1G).
321*1e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.WALK_COMPLETED
322*1e862e5aSFabien Thomas.Pq Event 49H , Umask 02H
323*1e862e5aSFabien ThomasMiss in all TLB levels causes a page walk that completes of any page size
324*1e862e5aSFabien Thomas(4K/2M/4M/1G).
325*1e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.WALK_DURATION
326*1e862e5aSFabien Thomas.Pq Event 49H , Umask 04H
327*1e862e5aSFabien ThomasCycles PMH is busy with this walk.
328*1e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.STLB_HIT
329*1e862e5aSFabien Thomas.Pq Event 49H , Umask 10H
330*1e862e5aSFabien ThomasStore operations that miss the first TLB level but hit the second and do not
331*1e862e5aSFabien Thomascause page walks.
332*1e862e5aSFabien Thomas.It Li LOAD_HIT_PRE.SW_PF
333*1e862e5aSFabien Thomas.Pq Event 4CH , Umask 01H
334*1e862e5aSFabien ThomasNon-SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch.
335*1e862e5aSFabien Thomas.It Li LOAD_HIT_PRE.HW_PF
336*1e862e5aSFabien Thomas.Pq Event 4CH , Umask 02H
337*1e862e5aSFabien ThomasNon-SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch.
338*1e862e5aSFabien Thomas.It Li L1D.REPLACEMENT
339*1e862e5aSFabien Thomas.Pq Event 51H , Umask 01H
340*1e862e5aSFabien ThomasCounts the number of lines brought into the L1 data cache.
341*1e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.INT_NOT_ELIMINATED
342*1e862e5aSFabien Thomas.Pq Event 58H , Umask 01H
343*1e862e5aSFabien ThomasNumber of integer Move Elimination candidate uops that were not eliminated.
344*1e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.SIMD_NOT_ELIMINATED
345*1e862e5aSFabien Thomas.Pq Event 58H , Umask 02H
346*1e862e5aSFabien ThomasNumber of SIMD Move Elimination candidate uops that were not eliminated.
347*1e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.INT_ELIMINATED
348*1e862e5aSFabien Thomas.Pq Event 58H , Umask 04H
349*1e862e5aSFabien ThomasNumber of integer Move Elimination candidate uops that were eliminated.
350*1e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.SIMD_ELIMINATED
351*1e862e5aSFabien Thomas.Pq Event 58H , Umask 08H
352*1e862e5aSFabien ThomasNumber of SIMD Move Elimination candidate uops that were eliminated.
353*1e862e5aSFabien Thomas.It Li CPL_CYCLES.RING0
354*1e862e5aSFabien Thomas.Pq Event 5CH , Umask 01H
355*1e862e5aSFabien ThomasUnhalted core cycles when the thread is in ring 0.
356*1e862e5aSFabien ThomasUse Edge to count transition.
357*1e862e5aSFabien Thomas.It Li CPL_CYCLES.RING123
358*1e862e5aSFabien Thomas.Pq Event 5CH , Umask 02H
359*1e862e5aSFabien ThomasUnhalted core cycles when the thread is not in ring 0.
360*1e862e5aSFabien Thomas.It Li RS_EVENTS.EMPTY_CYCLES
361*1e862e5aSFabien Thomas.Pq Event 5EH , Umask 01H
362*1e862e5aSFabien ThomasCycles the RS is empty for the thread.
363*1e862e5aSFabien Thomas.It Li TLB_ACCESS.LOAD_STLB_HIT
364*1e862e5aSFabien Thomas.Pq Event 5FH , Umask 01H
365*1e862e5aSFabien ThomasCounts load operations that missed 1st level DTLB but hit the 2nd level.
366*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD
367*1e862e5aSFabien Thomas.Pq Event 60H , Umask 01H
368*1e862e5aSFabien ThomasOffcore outstanding Demand Data Read transactions in SQ to uncore. Set
369*1e862e5aSFabien ThomasCmask=1 to count cycles.
370*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_CODE_RD
371*1e862e5aSFabien Thomas.Pq Event 60H , Umask 02H
372*1e862e5aSFabien ThomasOffcore outstanding Demand Code Read transactions in SQ to uncore. Set
373*1e862e5aSFabien ThomasCmask=1 to count cycles.
374*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_RFO
375*1e862e5aSFabien Thomas.Pq Event 60H , Umask 04H
376*1e862e5aSFabien ThomasOffcore outstanding RFO store transactions in SQ to uncore. Set Cmask=1 to
377*1e862e5aSFabien Thomascount cycles.
378*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD
379*1e862e5aSFabien Thomas.Pq Event 60H , Umask 08H
380*1e862e5aSFabien ThomasOffcore outstanding cacheable data read transactions in SQ to uncore. Set
381*1e862e5aSFabien ThomasCmask=1 to count cycles.
382*1e862e5aSFabien Thomas.It Li LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION
383*1e862e5aSFabien Thomas.Pq Event 63H , Umask 01H
384*1e862e5aSFabien ThomasCycles in which the L1D and L2 are locked, due to a UC lock or split lock.
385*1e862e5aSFabien Thomas.It Li LOCK_CYCLES.CACHE_LOCK_DURATION
386*1e862e5aSFabien Thomas.Pq Event 63H , Umask 02H
387*1e862e5aSFabien ThomasCycles in which the L1D is locked.
388*1e862e5aSFabien Thomas.It Li IDQ.EMPTY
389*1e862e5aSFabien Thomas.Pq Event 79H , Umask 02H
390*1e862e5aSFabien ThomasCounts cycles the IDQ is empty.
391*1e862e5aSFabien Thomas.It Li IDQ.MITE_UOPS
392*1e862e5aSFabien Thomas.Pq Event 79H , Umask 04H
393*1e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ from MITE path.
394*1e862e5aSFabien ThomasCan combine Umask 04H and 20H.
395*1e862e5aSFabien ThomasSet Cmask = 1 to count cycles.
396*1e862e5aSFabien Thomas.It Li IDQ.DSB_UOPS
397*1e862e5aSFabien Thomas.Pq Event 79H , Umask 08H
398*1e862e5aSFabien ThomasIncrement each cycle. # of uops delivered to IDQ from DSB path.
399*1e862e5aSFabien ThomasCan combine Umask 08H and 10H
400*1e862e5aSFabien ThomasSet Cmask = 1 to count cycles.
401*1e862e5aSFabien Thomas.It Li IDQ.MS_DSB_UOPS
402*1e862e5aSFabien Thomas.Pq Event 79H , Umask 10H
403*1e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ when MS_busy by DSB. Set
404*1e862e5aSFabien ThomasCmask = 1 to count cycles. Add Edge=1 to count # of delivery.
405*1e862e5aSFabien ThomasCan combine Umask 04H, 08H.
406*1e862e5aSFabien Thomas.It Li IDQ.MS_MITE_UOPS
407*1e862e5aSFabien Thomas.Pq Event 79H , Umask 20H
408*1e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ when MS_busy by MITE. Set
409*1e862e5aSFabien ThomasCmask = 1 to count cycles.
410*1e862e5aSFabien ThomasCan combine Umask 04H, 08H.
411*1e862e5aSFabien Thomas.It Li IDQ.MS_UOPS
412*1e862e5aSFabien Thomas.Pq Event 79H , Umask 30H
413*1e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ from MS by either DSB or
414*1e862e5aSFabien ThomasMITE. Set Cmask = 1 to count cycles.
415*1e862e5aSFabien ThomasCan combine Umask 04H, 08H.
416*1e862e5aSFabien Thomas.It Li IDQ.ALL_DSB_CYCLES_ANY_UOPS
417*1e862e5aSFabien Thomas.Pq Event 79H , Umask 18H
418*1e862e5aSFabien ThomasCounts cycles DSB is delivered at least one uops. Set Cmask = 1.
419*1e862e5aSFabien Thomas.It Li IDQ.ALL_DSB_CYCLES_4_UOPS
420*1e862e5aSFabien Thomas.Pq Event 79H , Umask 18H
421*1e862e5aSFabien ThomasCounts cycles DSB is delivered four uops. Set Cmask = 4.
422*1e862e5aSFabien Thomas.It Li IDQ.ALL_MITE_CYCLES_ANY_UOPS
423*1e862e5aSFabien Thomas.Pq Event 79H , Umask 24H
424*1e862e5aSFabien ThomasCounts cycles MITE is delivered at least one uops. Set Cmask = 1.
425*1e862e5aSFabien Thomas.It Li IDQ.ALL_MITE_CYCLES_4_UOPS
426*1e862e5aSFabien Thomas.Pq Event 79H , Umask 24H
427*1e862e5aSFabien ThomasCounts cycles MITE is delivered four uops. Set Cmask = 4.
428*1e862e5aSFabien Thomas.It Li IDQ.MITE_ALL_UOPS
429*1e862e5aSFabien Thomas.Pq Event 79H , Umask 3CH
430*1e862e5aSFabien Thomas# of uops delivered to IDQ from any path.
431*1e862e5aSFabien Thomas.It Li ICACHE.MISSES
432*1e862e5aSFabien Thomas.Pq Event 80H , Umask 02H
433*1e862e5aSFabien ThomasNumber of Instruction Cache, Streaming Buffer and Victim Cache Misses.
434*1e862e5aSFabien ThomasIncludes UC accesses.
435*1e862e5aSFabien Thomas.It Li ITLB_MISSES.MISS_CAUSES_A_WALK
436*1e862e5aSFabien Thomas.Pq Event 85H , Umask 01H
437*1e862e5aSFabien ThomasMisses in all ITLB levels that cause page walks.
438*1e862e5aSFabien Thomas.It Li ITLB_MISSES.WALK_COMPLETED
439*1e862e5aSFabien Thomas.Pq Event 85H , Umask 02H
440*1e862e5aSFabien ThomasMisses in all ITLB levels that cause completed page walks.
441*1e862e5aSFabien Thomas.It Li ITLB_MISSES.WALK_DURATION
442*1e862e5aSFabien Thomas.Pq Event 85H , Umask 04H
443*1e862e5aSFabien ThomasCycle PMH is busy with a walk.
444*1e862e5aSFabien Thomas.It Li ITLB_MISSES.STLB_HIT
445*1e862e5aSFabien Thomas.Pq Event 85H , Umask 10H
446*1e862e5aSFabien ThomasNumber of cache load STLB hits. No page walk.
447*1e862e5aSFabien Thomas.It Li ILD_STALL.LCP
448*1e862e5aSFabien Thomas.Pq Event 87H , Umask 01H
449*1e862e5aSFabien ThomasStalls caused by changing prefix length of the instruction.
450*1e862e5aSFabien Thomas.It Li ILD_STALL.IQ_FULL
451*1e862e5aSFabien Thomas.Pq Event 87H , Umask 04H
452*1e862e5aSFabien ThomasStall cycles due to IQ is full.
453*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.COND
454*1e862e5aSFabien Thomas.Pq Event 88H , Umask 01H
455*1e862e5aSFabien ThomasQualify conditional near branch instructions executed, but not necessarily
456*1e862e5aSFabien Thomasretired.
457*1e862e5aSFabien ThomasMust combine with umask 40H, 80H.
458*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.DIRECT_JMP
459*1e862e5aSFabien Thomas.Pq Event 88H , Umask 02H
460*1e862e5aSFabien ThomasQualify all unconditional near branch instructions excluding calls and
461*1e862e5aSFabien Thomasindirect branches.
462*1e862e5aSFabien ThomasMust combine with umask 80H.
463*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.INDIRECT_JMP_NON_CALL_RET
464*1e862e5aSFabien Thomas.Pq Event 88H , Umask 04H
465*1e862e5aSFabien ThomasQualify executed indirect near branch instructions that are not calls nor
466*1e862e5aSFabien Thomasreturns.
467*1e862e5aSFabien ThomasMust combine with umask 80H.
468*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.RETURN_NEAR
469*1e862e5aSFabien Thomas.Pq Event 88H , Umask 08H
470*1e862e5aSFabien ThomasQualify indirect near branches that have a return mnemonic.
471*1e862e5aSFabien ThomasMust combine with umask 80H.
472*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.DIRECT_NEAR_CALL
473*1e862e5aSFabien Thomas.Pq Event 88H , Umask 10H
474*1e862e5aSFabien ThomasQualify unconditional near call branch instructions, excluding non call
475*1e862e5aSFabien Thomasbranch, executed.
476*1e862e5aSFabien ThomasMust combine with umask 80H.
477*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.INDIRECT_NEAR_CALL
478*1e862e5aSFabien Thomas.Pq Event 88H , Umask 20H
479*1e862e5aSFabien ThomasQualify indirect near calls, including both register and memory indirect,
480*1e862e5aSFabien Thomasexecuted.
481*1e862e5aSFabien ThomasMust combine with umask 80H.
482*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.NONTAKEN
483*1e862e5aSFabien Thomas.Pq Event 88H , Umask 40H
484*1e862e5aSFabien ThomasQualify non-taken near branches executed.
485*1e862e5aSFabien ThomasApplicable to umask 01H only.
486*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.TAKEN
487*1e862e5aSFabien Thomas.Pq Event 88H , Umask 80H
488*1e862e5aSFabien ThomasQualify taken near branches executed. Must combine with 01H,02H, 04H, 08H,
489*1e862e5aSFabien Thomas10H, 20H.
490*1e862e5aSFabien Thomas.It Li BR_INST_EXEC.ALL_BRANCHES
491*1e862e5aSFabien Thomas.Pq Event 88H , Umask FFH
492*1e862e5aSFabien ThomasCounts all near executed branches (not necessarily retired).
493*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.COND
494*1e862e5aSFabien Thomas.Pq Event 89H , Umask 01H
495*1e862e5aSFabien ThomasQualify conditional near branch instructions mispredicted.
496*1e862e5aSFabien ThomasMust combine with umask 40H, 80H.
497*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.INDIRECT_JMP_NON_CALL_RET
498*1e862e5aSFabien Thomas.Pq Event 89H , Umask 04H
499*1e862e5aSFabien ThomasQualify mispredicted indirect near branch instructions that are not calls
500*1e862e5aSFabien Thomasnor returns.
501*1e862e5aSFabien ThomasMust combine with umask 80H.
502*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.RETURN_NEAR
503*1e862e5aSFabien Thomas.Pq Event 89H , Umask 08H
504*1e862e5aSFabien ThomasQualify mispredicted indirect near branches that have a return mnemonic.
505*1e862e5aSFabien ThomasMust combine with umask 80H.
506*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.DIRECT_NEAR_CALL
507*1e862e5aSFabien Thomas.Pq Event 89H , Umask 10H
508*1e862e5aSFabien ThomasQualify mispredicted unconditional near call branch instructions, excluding
509*1e862e5aSFabien Thomasnon call branch, executed.
510*1e862e5aSFabien ThomasMust combine with umask 80H.
511*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.INDIRECT_NEAR_CALL
512*1e862e5aSFabien Thomas.Pq Event 89H , Umask 20H
513*1e862e5aSFabien ThomasQualify mispredicted indirect near calls, including both register and memory
514*1e862e5aSFabien Thomasindirect, executed.
515*1e862e5aSFabien ThomasMust combine with umask 80H.
516*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.NONTAKEN
517*1e862e5aSFabien Thomas.Pq Event 89H , Umask 40H
518*1e862e5aSFabien ThomasQualify mispredicted non-taken near branches executed.
519*1e862e5aSFabien ThomasApplicable to umask 01H only.
520*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.TAKEN
521*1e862e5aSFabien Thomas.Pq Event 89H , Umask 80H
522*1e862e5aSFabien ThomasQualify mispredicted taken near branches executed. Must combine with
523*1e862e5aSFabien Thomas01H,02H, 04H, 08H, 10H, 20H.
524*1e862e5aSFabien Thomas.It Li BR_MISP_EXEC.ALL_BRANCHES
525*1e862e5aSFabien Thomas.Pq Event 89H , Umask FFH
526*1e862e5aSFabien ThomasCounts all near executed branches (not necessarily retired).
527*1e862e5aSFabien Thomas.It Li IDQ_UOPS_NOT_DELIVERED.CORE
528*1e862e5aSFabien Thomas.Pq Event 9CH , Umask 01H
529*1e862e5aSFabien ThomasCount number of non-delivered uops to RAT per thread.
530*1e862e5aSFabien ThomasUse Cmask to qualify uop b/w.
531*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_0
532*1e862e5aSFabien Thomas.Pq Event A1H , Umask 01H
533*1e862e5aSFabien ThomasCycles which a Uop is dispatched on port 0.
534*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_1
535*1e862e5aSFabien Thomas.Pq Event A1H , Umask 02H
536*1e862e5aSFabien ThomasCycles which a Uop is dispatched on port 1.
537*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2_LD
538*1e862e5aSFabien Thomas.Pq Event A1H , Umask 04H
539*1e862e5aSFabien ThomasCycles which a load uop is dispatched on port 2.
540*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2_STA
541*1e862e5aSFabien Thomas.Pq Event A1H , Umask 08H
542*1e862e5aSFabien ThomasCycles which a store address uop is dispatched on port 2.
543*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2
544*1e862e5aSFabien Thomas.Pq Event A1H , Umask 0CH
545*1e862e5aSFabien ThomasCycles which a Uop is dispatched on port 2.
546*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3_LD
547*1e862e5aSFabien Thomas.Pq Event A1H , Umask 10H
548*1e862e5aSFabien ThomasCycles which a load uop is dispatched on port 3.
549*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3_STA
550*1e862e5aSFabien Thomas.Pq Event A1H , Umask 20H
551*1e862e5aSFabien ThomasCycles which a store address uop is dispatched on port 3.
552*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3
553*1e862e5aSFabien Thomas.Pq Event A1H , Umask 30H
554*1e862e5aSFabien ThomasCycles which a Uop is dispatched on port 3.
555*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_4
556*1e862e5aSFabien Thomas.Pq Event A1H , Umask 40H
557*1e862e5aSFabien ThomasCycles which a Uop is dispatched on port 4.
558*1e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_5
559*1e862e5aSFabien Thomas.Pq Event A1H , Umask 80H
560*1e862e5aSFabien ThomasCycles which a Uop is dispatched on port 5.
561*1e862e5aSFabien Thomas.It Li RESOURCE_STALLS.ANY
562*1e862e5aSFabien Thomas.Pq Event A2H , Umask 01H
563*1e862e5aSFabien ThomasCycles Allocation is stalled due to Resource Related reason.
564*1e862e5aSFabien Thomas.It Li RESOURCE_STALLS.RS
565*1e862e5aSFabien Thomas.Pq Event A2H , Umask 04H
566*1e862e5aSFabien ThomasCycles stalled due to no eligible RS entry available.
567*1e862e5aSFabien Thomas.It Li RESOURCE_STALLS.SB
568*1e862e5aSFabien Thomas.Pq Event A2H , Umask 08H
569*1e862e5aSFabien ThomasCycles stalled due to no store buffers available. (not including draining
570*1e862e5aSFabien Thomasform sync).
571*1e862e5aSFabien Thomas.It Li RESOURCE_STALLS.ROB
572*1e862e5aSFabien Thomas.Pq Event A2H , Umask 10H
573*1e862e5aSFabien ThomasCycles stalled due to re-order buffer full.
574*1e862e5aSFabien Thomas.It Li DSB2MITE_SWITCHES.COUNT
575*1e862e5aSFabien Thomas.Pq Event ABH , Umask 01H
576*1e862e5aSFabien ThomasNumber of DSB to MITE switches.
577*1e862e5aSFabien Thomas.It Li DSB2MITE_SWITCHES.PENALTY_CYCLES
578*1e862e5aSFabien Thomas.Pq Event ABH , Umask 02H
579*1e862e5aSFabien ThomasCycles DSB to MITE switches caused delay.
580*1e862e5aSFabien Thomas.It Li DSB_FILL.EXCEED_DSB_LINES
581*1e862e5aSFabien Thomas.Pq Event ACH , Umask 08H
582*1e862e5aSFabien ThomasDSB Fill encountered > 3 DSB lines.
583*1e862e5aSFabien Thomas.It Li ITLB.ITLB_FLUSH
584*1e862e5aSFabien Thomas.Pq Event AEH , Umask 01H
585*1e862e5aSFabien ThomasCounts the number of ITLB flushes, includes 4k/2M/4M pages.
586*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_DATA_RD
587*1e862e5aSFabien Thomas.Pq Event B0H , Umask 01H
588*1e862e5aSFabien ThomasDemand data read requests sent to uncore.
589*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_CODE_RD
590*1e862e5aSFabien Thomas.Pq Event B0H , Umask 02H
591*1e862e5aSFabien ThomasDemand code read requests sent to uncore.
592*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_RFO
593*1e862e5aSFabien Thomas.Pq Event B0H , Umask 04H
594*1e862e5aSFabien ThomasDemand RFO read requests sent to uncore, including regular RFOs, locks,
595*1e862e5aSFabien ThomasItoM.
596*1e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.ALL_DATA_RD
597*1e862e5aSFabien Thomas.Pq Event B0H , Umask 08H
598*1e862e5aSFabien ThomasData read requests sent to uncore (demand and prefetch).
599*1e862e5aSFabien Thomas.It Li UOPS_EXECUTED.THREAD
600*1e862e5aSFabien Thomas.Pq Event B1H , Umask 01H
601*1e862e5aSFabien ThomasCounts total number of uops to be executed per-thread each cycle. Set Cmask
602*1e862e5aSFabien Thomas= 1, INV =1 to count stall cycles.
603*1e862e5aSFabien Thomas.It Li UOPS_EXECUTED.CORE
604*1e862e5aSFabien Thomas.Pq Event B1H , Umask 02H
605*1e862e5aSFabien ThomasCounts total number of uops to be executed per-core each cycle.
606*1e862e5aSFabien ThomasDo not need to set ANY.
607*1e862e5aSFabien Thomas.It Li OFF_CORE_RESPONSE_0
608*1e862e5aSFabien Thomas.Pq Event B7H , Umask 01H
609*1e862e5aSFabien ThomasOff-core Response Performance Monitoring.
610*1e862e5aSFabien ThomasPMC0 only.
611*1e862e5aSFabien ThomasRequires programming MSR 01A6H.
612*1e862e5aSFabien Thomas.It Li OFF_CORE_RESPONSE_1
613*1e862e5aSFabien Thomas.Pq Event BBH , Umask 01H
614*1e862e5aSFabien ThomasOff-core Response Performance Monitoring.
615*1e862e5aSFabien ThomasPMC3 only.
616*1e862e5aSFabien ThomasRequires programming MSR 01A7H.
617*1e862e5aSFabien Thomas.It Li TLB_FLUSH.DTLB_THREAD
618*1e862e5aSFabien Thomas.Pq Event BDH , Umask 01H
619*1e862e5aSFabien ThomasDTLB flush attempts of the thread- specific entries.
620*1e862e5aSFabien Thomas.It Li TLB_FLUSH.STLB_ANY
621*1e862e5aSFabien Thomas.Pq Event BDH , Umask 20H
622*1e862e5aSFabien ThomasCount number of STLB flush attempts.
623*1e862e5aSFabien Thomas.It Li INST_RETIRED.ANY_P
624*1e862e5aSFabien Thomas.Pq Event C0H , Umask 00H
625*1e862e5aSFabien ThomasNumber of instructions at retirement.
626*1e862e5aSFabien Thomas.It Li INST_RETIRED.ALL
627*1e862e5aSFabien Thomas.Pq Event C0H , Umask 01H
628*1e862e5aSFabien ThomasPrecise instruction retired event with HW to reduce effect of PEBS shadow in
629*1e862e5aSFabien ThomasIP distribution.
630*1e862e5aSFabien ThomasPMC1 only.
631*1e862e5aSFabien ThomasMust quiesce other PMCs.
632*1e862e5aSFabien Thomas.It Li OTHER_ASSISTS.AVX_STORE
633*1e862e5aSFabien Thomas.Pq Event C1H , Umask 08H
634*1e862e5aSFabien ThomasNumber of assists associated with 256-bit AVX store operations.
635*1e862e5aSFabien Thomas.It Li OTHER_ASSISTS.AVX_TO_SSE
636*1e862e5aSFabien Thomas.Pq Event C1H , Umask 10H
637*1e862e5aSFabien ThomasNumber of transitions from AVX- 256 to legacy SSE when penalty applicable.
638*1e862e5aSFabien Thomas.It Li OTHER_ASSISTS.SSE_TO_AVX
639*1e862e5aSFabien Thomas.Pq Event C1H , Umask 20H
640*1e862e5aSFabien ThomasNumber of transitions from SSE to AVX-256 when penalty applicable.
641*1e862e5aSFabien Thomas.It Li UOPS_RETIRED.ALL
642*1e862e5aSFabien Thomas.Pq Event C2H , Umask 01H
643*1e862e5aSFabien ThomasCounts the number of micro-ops retired, Use cmask=1 and invert to count
644*1e862e5aSFabien Thomasactive cycles or stalled cycles.
645*1e862e5aSFabien ThomasSupports PEBS, use Any=1 for core granular.
646*1e862e5aSFabien Thomas.It Li UOPS_RETIRED.RETIRE_SLOTS
647*1e862e5aSFabien Thomas.Pq Event C2H , Umask 02H
648*1e862e5aSFabien ThomasCounts the number of retirement slots used each cycle.
649*1e862e5aSFabien Thomas.It Li MACHINE_CLEARS.MEMORY_ORDERING
650*1e862e5aSFabien Thomas.Pq Event C3H , Umask 02H
651*1e862e5aSFabien ThomasCounts the number of machine clears due to memory order conflicts.
652*1e862e5aSFabien Thomas.It Li MACHINE_CLEARS.SMC
653*1e862e5aSFabien Thomas.Pq Event C3H , Umask 04H
654*1e862e5aSFabien ThomasNumber of self-modifying-code machine clears detected.
655*1e862e5aSFabien Thomas.It Li MACHINE_CLEARS.MASKMOV
656*1e862e5aSFabien Thomas.Pq Event C3H , Umask 20H
657*1e862e5aSFabien ThomasCounts the number of executed AVX masked load operations that refer to an
658*1e862e5aSFabien Thomasillegal address range with the mask bits set to 0.
659*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.ALL_BRANCHES
660*1e862e5aSFabien Thomas.Pq Event C4H , Umask 00H
661*1e862e5aSFabien ThomasBranch instructions at retirement.
662*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.CONDITIONAL
663*1e862e5aSFabien Thomas.Pq Event C4H , Umask 01H
664*1e862e5aSFabien ThomasCounts the number of conditional branch instructions retired.
665*1e862e5aSFabien ThomasSupports PEBS.
666*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_CALL
667*1e862e5aSFabien Thomas.Pq Event C4H , Umask 02H
668*1e862e5aSFabien ThomasDirect and indirect near call instructions retired.
669*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.ALL_BRANCHES
670*1e862e5aSFabien Thomas.Pq Event C4H , Umask 04H
671*1e862e5aSFabien ThomasCounts the number of branch instructions retired.
672*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_RETURN
673*1e862e5aSFabien Thomas.Pq Event C4H , Umask 08H
674*1e862e5aSFabien ThomasCounts the number of near return instructions retired.
675*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NOT_TAKEN
676*1e862e5aSFabien Thomas.Pq Event C4H , Umask 10H
677*1e862e5aSFabien ThomasCounts the number of not taken branch instructions retired.
678*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_TAKEN
679*1e862e5aSFabien Thomas.Pq Event C4H , Umask 20H
680*1e862e5aSFabien ThomasNumber of near taken branches retired.
681*1e862e5aSFabien Thomas.It Li BR_INST_RETIRED.FAR_BRANCH
682*1e862e5aSFabien Thomas.Pq Event C4H , Umask 40H
683*1e862e5aSFabien ThomasNumber of far branches retired.
684*1e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.ALL_BRANCHES
685*1e862e5aSFabien Thomas.Pq Event C5H , Umask 00H
686*1e862e5aSFabien ThomasMispredicted branch instructions at retirement.
687*1e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.CONDITIONAL
688*1e862e5aSFabien Thomas.Pq Event C5H , Umask 01H
689*1e862e5aSFabien ThomasMispredicted conditional branch instructions retired.
690*1e862e5aSFabien ThomasSupports PEBS.
691*1e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.NEAR_CALL
692*1e862e5aSFabien Thomas.Pq Event C5H , Umask 02H
693*1e862e5aSFabien ThomasDirect and indirect mispredicted near call instructions retired.
694*1e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.ALL_BRANCHES
695*1e862e5aSFabien Thomas.Pq Event C5H , Umask 04H
696*1e862e5aSFabien ThomasMispredicted macro branch instructions retired.
697*1e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.NOT_TAKEN
698*1e862e5aSFabien Thomas.Pq Event C5H , Umask 10H
699*1e862e5aSFabien ThomasMispredicted not taken branch instructions retired.
700*1e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.TAKEN
701*1e862e5aSFabien Thomas.Pq Event C5H , Umask 20H
702*1e862e5aSFabien ThomasMispredicted taken branch instructions retired.
703*1e862e5aSFabien Thomas.It Li FP_ASSIST.X87_OUTPUT
704*1e862e5aSFabien Thomas.Pq Event CAH , Umask 02H
705*1e862e5aSFabien ThomasNumber of X87 FP assists due to Output values.
706*1e862e5aSFabien Thomas.It Li FP_ASSIST.X87_INPUT
707*1e862e5aSFabien Thomas.Pq Event CAH , Umask 04H
708*1e862e5aSFabien ThomasNumber of X87 FP assists due to input values.
709*1e862e5aSFabien Thomas.It Li FP_ASSIST.SIMD_OUTPUT
710*1e862e5aSFabien Thomas.Pq Event CAH , Umask 08H
711*1e862e5aSFabien ThomasNumber of SIMD FP assists due to Output values.
712*1e862e5aSFabien Thomas.It Li FP_ASSIST.SIMD_INPUT
713*1e862e5aSFabien Thomas.Pq Event CAH , Umask 10H
714*1e862e5aSFabien ThomasNumber of SIMD FP assists due to input values.
715*1e862e5aSFabien Thomas.It Li FP_ASSIST.ANY
716*1e862e5aSFabien Thomas.Pq Event CAH , Umask 1EH
717*1e862e5aSFabien ThomasCycles with any input/output SSE* or FP assists.
718*1e862e5aSFabien Thomas.It Li ROB_MISC_EVENTS.LBR_INSERTS
719*1e862e5aSFabien Thomas.Pq Event CCH , Umask 20H
720*1e862e5aSFabien ThomasCount cases of saving new LBR records by hardware.
721*1e862e5aSFabien Thomas.It Li MEM_TRANS_RETIRED.LOAD_LATENCY
722*1e862e5aSFabien Thomas.Pq Event CDH , Umask 01H
723*1e862e5aSFabien ThomasSample loads with specified latency threshold.
724*1e862e5aSFabien ThomasPMC3 only.
725*1e862e5aSFabien ThomasSpecify threshold in MSR 0x3F6.
726*1e862e5aSFabien Thomas.It Li MEM_TRANS_RETIRED.PRECISE_STORE
727*1e862e5aSFabien Thomas.Pq Event CDH , Umask 02H
728*1e862e5aSFabien ThomasSample stores and collect precise store operation via PEBS record.
729*1e862e5aSFabien ThomasPMC3 only.
730*1e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.LOADS
731*1e862e5aSFabien Thomas.Pq Event D0H , Umask 01H
732*1e862e5aSFabien ThomasQualify retired memory uops that are loads. Combine with umask 10H, 20H,
733*1e862e5aSFabien Thomas40H, 80H.
734*1e862e5aSFabien ThomasSupports PEBS.
735*1e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.STORES
736*1e862e5aSFabien Thomas.Pq Event D0H , Umask 02H
737*1e862e5aSFabien ThomasQualify retired memory uops that are stores. Combine with umask 10H, 20H,
738*1e862e5aSFabien Thomas40H, 80H.
739*1e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.STLB_MISS
740*1e862e5aSFabien Thomas.Pq Event D0H , Umask 10H
741*1e862e5aSFabien ThomasQualify retired memory uops with STLB miss. Must combine with umask 01H,
742*1e862e5aSFabien Thomas02H, to produce counts.
743*1e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.LOCK
744*1e862e5aSFabien Thomas.Pq Event D0H , Umask 20H
745*1e862e5aSFabien ThomasQualify retired memory uops with lock. Must combine with umask 01H, 02H, to
746*1e862e5aSFabien Thomasproduce counts.
747*1e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.SPLIT
748*1e862e5aSFabien Thomas.Pq Event D0H , Umask 40H
749*1e862e5aSFabien ThomasQualify retired memory uops with line split. Must combine with umask 01H,
750*1e862e5aSFabien Thomas02H, to produce counts.
751*1e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.ALL
752*1e862e5aSFabien Thomas.Pq Event D0H , Umask 80H
753*1e862e5aSFabien ThomasQualify any retired memory uops. Must combine with umask 01H, 02H, to
754*1e862e5aSFabien Thomasproduce counts.
755*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.L1_HIT
756*1e862e5aSFabien Thomas.Pq Event D1H , Umask 01H
757*1e862e5aSFabien ThomasRetired load uops with L1 cache hits as data sources.
758*1e862e5aSFabien ThomasSupports PEBS.
759*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.L2_HIT
760*1e862e5aSFabien Thomas.Pq Event D1H , Umask 02H
761*1e862e5aSFabien ThomasRetired load uops with L2 cache hits as data sources.
762*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.LLC_HIT
763*1e862e5aSFabien Thomas.Pq Event D1H , Umask 04H
764*1e862e5aSFabien ThomasRetired load uops with LLC cache hits as data sources.
765*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.HIT_LFB
766*1e862e5aSFabien Thomas.Pq Event D1H , Umask 40H
767*1e862e5aSFabien ThomasRetired load uops which data sources were load uops missed L1 but hit FB due
768*1e862e5aSFabien Thomasto preceding miss to the same cache line with data not ready.
769*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_MISS
770*1e862e5aSFabien Thomas.Pq Event D2H , Umask 01H
771*1e862e5aSFabien ThomasRetired load uops which data sources were LLC hit and cross-core snoop
772*1e862e5aSFabien Thomasmissed in on-pkg core cache.
773*1e862e5aSFabien ThomasSupports PEBS.
774*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT
775*1e862e5aSFabien Thomas.Pq Event D2H , Umask 02H
776*1e862e5aSFabien ThomasRetired load uops which data sources were LLC and cross-core snoop hits in
777*1e862e5aSFabien Thomason-pkg core cache.
778*1e862e5aSFabien ThomasSupports PEBS.
779*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM
780*1e862e5aSFabien Thomas.Pq Event D2H , Umask 04H
781*1e862e5aSFabien ThomasRetired load uops which data sources were HitM responses from shared LLC.
782*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_NONE
783*1e862e5aSFabien Thomas.Pq Event D2H , Umask 08H
784*1e862e5aSFabien ThomasRetired load uops which data sources were hits in LLC without snoops
785*1e862e5aSFabien Thomasrequired.
786*1e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_MISS_RETIRED.LOCAL_DRAM
787*1e862e5aSFabien Thomas.Pq Event D3H , Umask 01H
788*1e862e5aSFabien ThomasRetired load uops which data sources missed LLC but serviced from local
789*1e862e5aSFabien Thomasdram.
790*1e862e5aSFabien ThomasSupports PEBS.
791*1e862e5aSFabien Thomas.It Li L2_TRANS.DEMAND_DATA_RD
792*1e862e5aSFabien Thomas.Pq Event F0H , Umask 01H
793*1e862e5aSFabien ThomasDemand Data Read requests that access L2 cache.
794*1e862e5aSFabien Thomas.It Li L2_TRANS.RFO
795*1e862e5aSFabien Thomas.Pq Event F0H , Umask 02H
796*1e862e5aSFabien ThomasRFO requests that access L2 cache.
797*1e862e5aSFabien Thomas.It Li L2_TRANS.CODE_RD
798*1e862e5aSFabien Thomas.Pq Event F0H , Umask 04H
799*1e862e5aSFabien ThomasL2 cache accesses when fetching instructions.
800*1e862e5aSFabien Thomas.It Li L2_TRANS.ALL_PF
801*1e862e5aSFabien Thomas.Pq Event F0H , Umask 08H
802*1e862e5aSFabien ThomasAny MLC or LLC HW prefetch accessing L2, including rejects.
803*1e862e5aSFabien Thomas.It Li L2_TRANS.L1D_WB
804*1e862e5aSFabien Thomas.Pq Event F0H , Umask 10H
805*1e862e5aSFabien ThomasL1D writebacks that access L2 cache.
806*1e862e5aSFabien Thomas.It Li L2_TRANS.L2_FILL
807*1e862e5aSFabien Thomas.Pq Event F0H , Umask 20H
808*1e862e5aSFabien ThomasL2 fill requests that access L2 cache.
809*1e862e5aSFabien Thomas.It Li L2_TRANS.L2_WB
810*1e862e5aSFabien Thomas.Pq Event F0H , Umask 40H
811*1e862e5aSFabien ThomasL2 writebacks that access L2 cache.
812*1e862e5aSFabien Thomas.It Li L2_TRANS.ALL_REQUESTS
813*1e862e5aSFabien Thomas.Pq Event F0H , Umask 80H
814*1e862e5aSFabien ThomasTransactions accessing L2 pipe.
815*1e862e5aSFabien Thomas.It Li L2_LINES_IN.I
816*1e862e5aSFabien Thomas.Pq Event F1H , Umask 01H
817*1e862e5aSFabien ThomasL2 cache lines in I state filling L2.
818*1e862e5aSFabien ThomasCounting does not cover rejects.
819*1e862e5aSFabien Thomas.It Li L2_LINES_IN.S
820*1e862e5aSFabien Thomas.Pq Event F1H , Umask 02H
821*1e862e5aSFabien ThomasL2 cache lines in S state filling L2.
822*1e862e5aSFabien ThomasCounting does not cover rejects.
823*1e862e5aSFabien Thomas.It Li L2_LINES_IN.E
824*1e862e5aSFabien Thomas.Pq Event F1H , Umask 04H
825*1e862e5aSFabien ThomasL2 cache lines in E state filling L2.
826*1e862e5aSFabien ThomasCounting does not cover rejects.
827*1e862e5aSFabien Thomas.It Li L2_LINES_IN.ALL
828*1e862e5aSFabien Thomas.Pq Event F1H , Umask 07H
829*1e862e5aSFabien ThomasL2 cache lines filling L2.
830*1e862e5aSFabien ThomasCounting does not cover rejects.
831*1e862e5aSFabien Thomas.It Li L2_LINES_OUT.DEMAND_CLEAN
832*1e862e5aSFabien Thomas.Pq Event F2H , Umask 01H
833*1e862e5aSFabien ThomasClean L2 cache lines evicted by demand.
834*1e862e5aSFabien Thomas.It Li L2_LINES_OUT.DEMAND_DIRTY
835*1e862e5aSFabien Thomas.Pq Event F2H , Umask 02H
836*1e862e5aSFabien ThomasDirty L2 cache lines evicted by demand.
837*1e862e5aSFabien Thomas.It Li L2_LINES_OUT.PF_CLEAN
838*1e862e5aSFabien Thomas.Pq Event F2H , Umask 04H
839*1e862e5aSFabien ThomasClean L2 cache lines evicted by the MLC prefetcher.
840*1e862e5aSFabien Thomas.It Li L2_LINES_OUT.PF_DIRTY
841*1e862e5aSFabien Thomas.Pq Event F2H , Umask 08H
842*1e862e5aSFabien ThomasDirty L2 cache lines evicted by the MLC prefetcher.
843*1e862e5aSFabien Thomas.El
844*1e862e5aSFabien Thomas.Sh SEE ALSO
845*1e862e5aSFabien Thomas.Xr pmc 3 ,
846*1e862e5aSFabien Thomas.Xr pmc.atom 3 ,
847*1e862e5aSFabien Thomas.Xr pmc.core 3 ,
848*1e862e5aSFabien Thomas.Xr pmc.iaf 3 ,
849*1e862e5aSFabien Thomas.Xr pmc.ucf 3 ,
850*1e862e5aSFabien Thomas.Xr pmc.k7 3 ,
851*1e862e5aSFabien Thomas.Xr pmc.k8 3 ,
852*1e862e5aSFabien Thomas.Xr pmc.p4 3 ,
853*1e862e5aSFabien Thomas.Xr pmc.p5 3 ,
854*1e862e5aSFabien Thomas.Xr pmc.p6 3 ,
855*1e862e5aSFabien Thomas.Xr pmc.corei7 3 ,
856*1e862e5aSFabien Thomas.Xr pmc.corei7uc 3 ,
857*1e862e5aSFabien Thomas.Xr pmc.sandybridge 3 ,
858*1e862e5aSFabien Thomas.Xr pmc.sandybridgeuc 3 ,
859*1e862e5aSFabien Thomas.Xr pmc.westmere 3 ,
860*1e862e5aSFabien Thomas.Xr pmc.westmereuc 3 ,
861*1e862e5aSFabien Thomas.Xr pmc.soft 3 ,
862*1e862e5aSFabien Thomas.Xr pmc.tsc 3 ,
863*1e862e5aSFabien Thomas.Xr pmc_cpuinfo 3 ,
864*1e862e5aSFabien Thomas.Xr pmclog 3 ,
865*1e862e5aSFabien Thomas.Xr hwpmc 4
866*1e862e5aSFabien Thomas.Sh HISTORY
867*1e862e5aSFabien ThomasThe
868*1e862e5aSFabien Thomas.Nm pmc
869*1e862e5aSFabien Thomaslibrary first appeared in
870*1e862e5aSFabien Thomas.Fx 6.0 .
871*1e862e5aSFabien Thomas.Sh AUTHORS
872*1e862e5aSFabien ThomasThe
873*1e862e5aSFabien Thomas.Lb libpmc
874*1e862e5aSFabien Thomaslibrary was written by
875*1e862e5aSFabien Thomas.An "Joseph Koshy"
876*1e862e5aSFabien Thomas.Aq jkoshy@FreeBSD.org .
877*1e862e5aSFabien ThomasThe support for the Ivy Bridge
878*1e862e5aSFabien Thomasmicroarchitecture was written by
879*1e862e5aSFabien Thomas.An "Fabien Thomas"
880*1e862e5aSFabien Thomas.Aq fabient@FreeBSD.org .
881