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