1*fabe02f5SSean Bruno.\" Copyright (c) 2012 Hiren Panchasara <hiren.panchasara@gmail.com> 2*fabe02f5SSean Bruno.\" All rights reserved. 3*fabe02f5SSean Bruno.\" 4*fabe02f5SSean Bruno.\" Redistribution and use in source and binary forms, with or without 5*fabe02f5SSean Bruno.\" modification, are permitted provided that the following conditions 6*fabe02f5SSean Bruno.\" are met: 7*fabe02f5SSean Bruno.\" 1. Redistributions of source code must retain the above copyright 8*fabe02f5SSean Bruno.\" notice, this list of conditions and the following disclaimer. 9*fabe02f5SSean Bruno.\" 2. Redistributions in binary form must reproduce the above copyright 10*fabe02f5SSean Bruno.\" notice, this list of conditions and the following disclaimer in the 11*fabe02f5SSean Bruno.\" documentation and/or other materials provided with the distribution. 12*fabe02f5SSean Bruno.\" 13*fabe02f5SSean Bruno.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*fabe02f5SSean Bruno.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*fabe02f5SSean Bruno.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*fabe02f5SSean Bruno.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*fabe02f5SSean Bruno.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*fabe02f5SSean Bruno.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*fabe02f5SSean Bruno.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*fabe02f5SSean Bruno.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*fabe02f5SSean Bruno.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*fabe02f5SSean Bruno.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*fabe02f5SSean Bruno.\" SUCH DAMAGE. 24*fabe02f5SSean Bruno.\" 25*fabe02f5SSean Bruno.\" $FreeBSD$ 26*fabe02f5SSean Bruno.\" 27*fabe02f5SSean Bruno.Dd October 18, 2012 28*fabe02f5SSean Bruno.Dt PMC.SANDYBRIDGEXEON 3 29*fabe02f5SSean Bruno.Os 30*fabe02f5SSean Bruno.Sh NAME 31*fabe02f5SSean Bruno.Nm pmc.sandybridgexeon 32*fabe02f5SSean Bruno.Nd measurement events for 33*fabe02f5SSean Bruno.Tn Intel 34*fabe02f5SSean Bruno.Tn Sandy Bridge Xeon 35*fabe02f5SSean Brunofamily CPUs 36*fabe02f5SSean Bruno.Sh LIBRARY 37*fabe02f5SSean Bruno.Lb libpmc 38*fabe02f5SSean Bruno.Sh SYNOPSIS 39*fabe02f5SSean Bruno.In pmc.h 40*fabe02f5SSean Bruno.Sh DESCRIPTION 41*fabe02f5SSean Bruno.Tn Intel 42*fabe02f5SSean Bruno.Tn "Sandy Bridge Xeon" 43*fabe02f5SSean BrunoCPUs contain PMCs conforming to version 2 of the 44*fabe02f5SSean Bruno.Tn Intel 45*fabe02f5SSean Brunoperformance measurement architecture. 46*fabe02f5SSean BrunoThese CPUs may contain up to two classes of PMCs: 47*fabe02f5SSean Bruno.Bl -tag -width "Li PMC_CLASS_IAP" 48*fabe02f5SSean Bruno.It Li PMC_CLASS_IAF 49*fabe02f5SSean BrunoFixed-function counters that count only one hardware event per counter. 50*fabe02f5SSean Bruno.It Li PMC_CLASS_IAP 51*fabe02f5SSean BrunoProgrammable counters that may be configured to count one of a defined 52*fabe02f5SSean Brunoset of hardware events. 53*fabe02f5SSean Bruno.El 54*fabe02f5SSean Bruno.Pp 55*fabe02f5SSean BrunoThe number of PMCs available in each class and their widths need to be 56*fabe02f5SSean Brunodetermined at run time by calling 57*fabe02f5SSean Bruno.Xr pmc_cpuinfo 3 . 58*fabe02f5SSean Bruno.Pp 59*fabe02f5SSean BrunoIntel Sandy Bridge Xeon PMCs are documented in 60*fabe02f5SSean Bruno.Rs 61*fabe02f5SSean Bruno.%B "Intel(R) 64 and IA-32 Architectures Software Developer's Manual" 62*fabe02f5SSean Bruno.%T "Volume 3B: System Programming Guide, Part 2" 63*fabe02f5SSean Bruno.%N "Order Number: 253669-043US" 64*fabe02f5SSean Bruno.%D August 2012 65*fabe02f5SSean Bruno.%Q "Intel Corporation" 66*fabe02f5SSean Bruno.Re 67*fabe02f5SSean Bruno.Ss SANDYBRIDGE XEON FIXED FUNCTION PMCS 68*fabe02f5SSean BrunoThese PMCs and their supported events are documented in 69*fabe02f5SSean Bruno.Xr pmc.iaf 3 . 70*fabe02f5SSean Bruno.Ss SANDYBRIDGE XEON PROGRAMMABLE PMCS 71*fabe02f5SSean BrunoThe programmable PMCs support the following capabilities: 72*fabe02f5SSean Bruno.Bl -column "PMC_CAP_INTERRUPT" "Support" 73*fabe02f5SSean Bruno.It Em Capability Ta Em Support 74*fabe02f5SSean Bruno.It PMC_CAP_CASCADE Ta \&No 75*fabe02f5SSean Bruno.It PMC_CAP_EDGE Ta Yes 76*fabe02f5SSean Bruno.It PMC_CAP_INTERRUPT Ta Yes 77*fabe02f5SSean Bruno.It PMC_CAP_INVERT Ta Yes 78*fabe02f5SSean Bruno.It PMC_CAP_READ Ta Yes 79*fabe02f5SSean Bruno.It PMC_CAP_PRECISE Ta \&No 80*fabe02f5SSean Bruno.It PMC_CAP_SYSTEM Ta Yes 81*fabe02f5SSean Bruno.It PMC_CAP_TAGGING Ta \&No 82*fabe02f5SSean Bruno.It PMC_CAP_THRESHOLD Ta Yes 83*fabe02f5SSean Bruno.It PMC_CAP_USER Ta Yes 84*fabe02f5SSean Bruno.It PMC_CAP_WRITE Ta Yes 85*fabe02f5SSean Bruno.El 86*fabe02f5SSean Bruno.Ss Event Qualifiers 87*fabe02f5SSean BrunoEvent specifiers for these PMCs support the following common 88*fabe02f5SSean Brunoqualifiers: 89*fabe02f5SSean Bruno.Bl -tag -width indent 90*fabe02f5SSean Bruno.It Li rsp= Ns Ar value 91*fabe02f5SSean BrunoConfigure the Off-core Response bits. 92*fabe02f5SSean Bruno.Bl -tag -width indent 93*fabe02f5SSean Bruno.It Li REQ_DMND_DATA_RD 94*fabe02f5SSean BrunoCounts the number of demand and DCU prefetch data reads of full and partial 95*fabe02f5SSean Brunocachelines as well as demand data page table entry cacheline reads. Does not 96*fabe02f5SSean Brunocount L2 data read prefetches or instruction fetches. 97*fabe02f5SSean Bruno.It Li REQ_DMND_RFO 98*fabe02f5SSean BrunoCounts the number of demand and DCU prefetch reads for ownership (RFO) 99*fabe02f5SSean Brunorequests generated by a write to data cacheline. Does not count L2 RFO 100*fabe02f5SSean Brunoprefetches. 101*fabe02f5SSean Bruno.It Li REQ_DMND_IFETCH 102*fabe02f5SSean BrunoCounts the number of demand and DCU prefetch instruction cacheline reads. 103*fabe02f5SSean BrunoDoes not count L2 code read prefetches. 104*fabe02f5SSean Bruno.It Li REQ_WB 105*fabe02f5SSean BrunoCounts the number of writeback (modified to exclusive) transactions. 106*fabe02f5SSean Bruno.It Li REQ_PF_DATA_RD 107*fabe02f5SSean BrunoCounts the number of data cacheline reads generated by L2 prefetchers. 108*fabe02f5SSean Bruno.It Li REQ_PF_RFO 109*fabe02f5SSean BrunoCounts the number of RFO requests generated by L2 prefetchers. 110*fabe02f5SSean Bruno.It Li REQ_PF_IFETCH 111*fabe02f5SSean BrunoCounts the number of code reads generated by L2 prefetchers. 112*fabe02f5SSean Bruno.It Li REQ_PF_LLC_DATA_RD 113*fabe02f5SSean BrunoL2 prefetcher to L3 for loads. 114*fabe02f5SSean Bruno.It Li REQ_PF_LLC_RFO 115*fabe02f5SSean BrunoRFO requests generated by L2 prefetcher 116*fabe02f5SSean Bruno.It Li REQ_PF_LLC_IFETCH 117*fabe02f5SSean BrunoL2 prefetcher to L3 for instruction fetches. 118*fabe02f5SSean Bruno.It Li REQ_BUS_LOCKS 119*fabe02f5SSean BrunoBus lock and split lock requests. 120*fabe02f5SSean Bruno.It Li REQ_STRM_ST 121*fabe02f5SSean BrunoStreaming store requests. 122*fabe02f5SSean Bruno.It Li REQ_OTHER 123*fabe02f5SSean BrunoAny other request that crosses IDI, including I/O. 124*fabe02f5SSean Bruno.It Li RES_ANY 125*fabe02f5SSean BrunoCatch all value for any response types. 126*fabe02f5SSean Bruno.It Li RES_SUPPLIER_NO_SUPP 127*fabe02f5SSean BrunoNo Supplier Information available. 128*fabe02f5SSean Bruno.It Li RES_SUPPLIER_LLC_HITM 129*fabe02f5SSean BrunoM-state initial lookup stat in L3. 130*fabe02f5SSean Bruno.It Li RES_SUPPLIER_LLC_HITE 131*fabe02f5SSean BrunoE-state. 132*fabe02f5SSean Bruno.It Li RES_SUPPLIER_LLC_HITS 133*fabe02f5SSean BrunoS-state. 134*fabe02f5SSean Bruno.It Li RES_SUPPLIER_LLC_HITF 135*fabe02f5SSean BrunoF-state. 136*fabe02f5SSean Bruno.It Li RES_SUPPLIER_LOCAL 137*fabe02f5SSean BrunoLocal DRAM Controller. 138*fabe02f5SSean Bruno.It Li RES_SNOOP_SNPI_NONE 139*fabe02f5SSean BrunoNo details on snoop-related information. 140*fabe02f5SSean Bruno.It Li RES_SNOOP_SNP_NO_NEEDED 141*fabe02f5SSean BrunoNo snoop was needed to satisfy the request. 142*fabe02f5SSean Bruno.It Li RES_SNOOP_SNP_MISS 143*fabe02f5SSean BrunoA snoop was needed and it missed all snooped caches: 144*fabe02f5SSean Bruno-For LLC Hit, ReslHitl was returned by all cores 145*fabe02f5SSean Bruno-For LLC Miss, Rspl was returned by all sockets and data was returned from 146*fabe02f5SSean BrunoDRAM. 147*fabe02f5SSean Bruno.It Li RES_SNOOP_HIT_NO_FWD 148*fabe02f5SSean BrunoA snoop was needed and it hits in at least one snooped cache. Hit denotes a 149*fabe02f5SSean Brunocache-line was valid before snoop effect. This includes: 150*fabe02f5SSean Bruno-Snoop Hit w/ Invalidation (LLC Hit, RFO) 151*fabe02f5SSean Bruno-Snoop Hit, Left Shared (LLC Hit/Miss, IFetch/Data_RD) 152*fabe02f5SSean Bruno-Snoop Hit w/ Invalidation and No Forward (LLC Miss, RFO Hit S) 153*fabe02f5SSean BrunoIn the LLC Miss case, data is returned from DRAM. 154*fabe02f5SSean Bruno.It Li RES_SNOOP_HIT_FWD 155*fabe02f5SSean BrunoA snoop was needed and data was forwarded from a remote socket. 156*fabe02f5SSean BrunoThis includes: 157*fabe02f5SSean Bruno-Snoop Forward Clean, Left Shared (LLC Hit/Miss, IFetch/Data_RD/RFT). 158*fabe02f5SSean Bruno.It Li RES_SNOOP_HITM 159*fabe02f5SSean BrunoA snoop was needed and it HitM-ed in local or remote cache. HitM denotes a 160*fabe02f5SSean Brunocache-line was in modified state before effect as a results of snoop. This 161*fabe02f5SSean Brunoincludes: 162*fabe02f5SSean Bruno-Snoop HitM w/ WB (LLC miss, IFetch/Data_RD) 163*fabe02f5SSean Bruno-Snoop Forward Modified w/ Invalidation (LLC Hit/Miss, RFO) 164*fabe02f5SSean Bruno-Snoop MtoS (LLC Hit, IFetch/Data_RD). 165*fabe02f5SSean Bruno.It Li RES_NON_DRAM 166*fabe02f5SSean BrunoTarget was non-DRAM system address. This includes MMIO transactions. 167*fabe02f5SSean Bruno.El 168*fabe02f5SSean Bruno.It Li cmask= Ns Ar value 169*fabe02f5SSean BrunoConfigure the PMC to increment only if the number of configured 170*fabe02f5SSean Brunoevents measured in a cycle is greater than or equal to 171*fabe02f5SSean Bruno.Ar value . 172*fabe02f5SSean Bruno.It Li edge 173*fabe02f5SSean BrunoConfigure the PMC to count the number of de-asserted to asserted 174*fabe02f5SSean Brunotransitions of the conditions expressed by the other qualifiers. 175*fabe02f5SSean BrunoIf specified, the counter will increment only once whenever a 176*fabe02f5SSean Brunocondition becomes true, irrespective of the number of clocks during 177*fabe02f5SSean Brunowhich the condition remains true. 178*fabe02f5SSean Bruno.It Li inv 179*fabe02f5SSean BrunoInvert the sense of comparison when the 180*fabe02f5SSean Bruno.Dq Li cmask 181*fabe02f5SSean Brunoqualifier is present, making the counter increment when the number of 182*fabe02f5SSean Brunoevents per cycle is less than the value specified by the 183*fabe02f5SSean Bruno.Dq Li cmask 184*fabe02f5SSean Brunoqualifier. 185*fabe02f5SSean Bruno.It Li os 186*fabe02f5SSean BrunoConfigure the PMC to count events happening at processor privilege 187*fabe02f5SSean Brunolevel 0. 188*fabe02f5SSean Bruno.It Li usr 189*fabe02f5SSean BrunoConfigure the PMC to count events occurring at privilege levels 1, 2 190*fabe02f5SSean Brunoor 3. 191*fabe02f5SSean Bruno.El 192*fabe02f5SSean Bruno.Pp 193*fabe02f5SSean BrunoIf neither of the 194*fabe02f5SSean Bruno.Dq Li os 195*fabe02f5SSean Brunoor 196*fabe02f5SSean Bruno.Dq Li usr 197*fabe02f5SSean Brunoqualifiers are specified, the default is to enable both. 198*fabe02f5SSean Bruno.Ss Event Specifiers (Programmable PMCs) 199*fabe02f5SSean BrunoSandy Bridge Xeon programmable PMCs support the following events: 200*fabe02f5SSean Bruno.Bl -tag -width indent 201*fabe02f5SSean Bruno.It Li LD_BLOCKS.DATA_UNKNOWN 202*fabe02f5SSean Bruno.Pq Event 03H , Umask 01H 203*fabe02f5SSean Brunoblocked loads due to store buffer blocks with unknown data. 204*fabe02f5SSean Bruno.It Li LD_BLOCKS.STORE_FORWARD 205*fabe02f5SSean Bruno.Pq Event 03H , Umask 02H 206*fabe02f5SSean Brunoloads blocked by overlapping with store buffer that cannot 207*fabe02f5SSean Brunobe forwarded . 208*fabe02f5SSean Bruno.It Li LD_BLOCKS.NO_SR 209*fabe02f5SSean Bruno.Pq Event 03H , Umask 08H 210*fabe02f5SSean Bruno# of Split loads blocked due to resource not available. 211*fabe02f5SSean Bruno.It Li LD_BLOCKS.ALL_BLOCK 212*fabe02f5SSean Bruno.Pq Event 03H , Umask 10H 213*fabe02f5SSean BrunoNumber of cases where any load is blocked but has no 214*fabe02f5SSean BrunoDCU miss. 215*fabe02f5SSean Bruno.It Li MISALIGN_MEM_REF.LOADS 216*fabe02f5SSean Bruno.Pq Event 05H , Umask 01H 217*fabe02f5SSean BrunoSpeculative cache-line split load uops dispatched to 218*fabe02f5SSean BrunoL1D. 219*fabe02f5SSean Bruno.It Li MISALIGN_MEM_REF.STORES 220*fabe02f5SSean Bruno.Pq Event 05H , Umask 02H 221*fabe02f5SSean BrunoSpeculative cache-line split Store- address uops 222*fabe02f5SSean Brunodispatchedto L1D. 223*fabe02f5SSean Bruno.It Li LD_BLOCKS_PARTIAL.ADDRESS_ALIAS 224*fabe02f5SSean Bruno.Pq Event 07H , Umask 01H 225*fabe02f5SSean BrunoFalse dependencies in MOB due to partial compare on 226*fabe02f5SSean Brunoaddress. 227*fabe02f5SSean Bruno.It Li LD_BLOCKS_PARTIAL.ALL_STALL_BLOCK 228*fabe02f5SSean Bruno.Pq Event 07H , Umask 08H 229*fabe02f5SSean BrunoThe number of times that load operations are temporarily 230*fabe02f5SSean Brunoblocked because of older stores, with addresses that are 231*fabe02f5SSean Brunonot yet known. A load operation may incur more than one 232*fabe02f5SSean Brunoblock of this type. 233*fabe02f5SSean Bruno.It Li TLB_LOAD_MISSES.MISS_CAUSES_A_WALK 234*fabe02f5SSean Bruno.Pq Event 08H , Umask 01H 235*fabe02f5SSean BrunoMisses in all TLB levels that cause a page walk of any 236*fabe02f5SSean Brunopage size. 237*fabe02f5SSean Bruno.It Li TLB_LOAD_MISSES.WALK_COMPLETED 238*fabe02f5SSean Bruno.Pq Event 08H , Umask 02H 239*fabe02f5SSean BrunoMisses in all TLB levels that caused page walk completed 240*fabe02f5SSean Brunoof any size. 241*fabe02f5SSean Bruno.It Li DTLB_LOAD_MISSES.WALK_DURATION 242*fabe02f5SSean Bruno.Pq Event 08H , Umask 04H 243*fabe02f5SSean BrunoCycle PMH is busy with a walk. 244*fabe02f5SSean Bruno.It Li DTLB_LOAD_MISSES.STLB_HIT 245*fabe02f5SSean Bruno.Pq Event 08H , Umask 10H 246*fabe02f5SSean BrunoNumber of cache load STLB hits. No page walk. 247*fabe02f5SSean Bruno.It Li INT_MISC.RECOVERY_CYCLES 248*fabe02f5SSean Bruno.Pq Event 0DH , Umask 03H 249*fabe02f5SSean BrunoCycles waiting to recover after Machine Clears or EClear. 250*fabe02f5SSean BrunoSet Cmask= 1. 251*fabe02f5SSean Bruno.It Li INT_MISC.RAT_STALL_CYCLES 252*fabe02f5SSean Bruno.Pq Event 0DH , Umask 40H 253*fabe02f5SSean BrunoCycles RAT external stall is sent to IDQ for this thread. 254*fabe02f5SSean Bruno.It Li UOPS_ISSUED.ANY 255*fabe02f5SSean Bruno.Pq Event 0EH , Umask 01H 256*fabe02f5SSean BrunoIncrements each cycle the # of Uops issued by the 257*fabe02f5SSean BrunoRAT to RS. 258*fabe02f5SSean BrunoSet Cmask = 1, Inv = 1, Any= 1to count stalled cycles 259*fabe02f5SSean Brunoof this core. 260*fabe02f5SSean Bruno.It Li FP_COMP_OPS_EXE.X87 261*fabe02f5SSean Bruno.Pq Event 10H , Umask 01H 262*fabe02f5SSean BrunoCounts number of X87 uops executed. 263*fabe02f5SSean Bruno.It Li FP_COMP_OPS_EXE.SSE_FP_PACKED_DOUBLE 264*fabe02f5SSean Bruno.Pq Event 10H , Umask 10H 265*fabe02f5SSean BrunoCounts number of SSE* double precision FP packed 266*fabe02f5SSean Brunouops executed. 267*fabe02f5SSean Bruno.It Li FP_COMP_OPS_EXE.SSE_FP_SCALAR_SINGLE 268*fabe02f5SSean Bruno.Pq Event 10H , Umask 20H 269*fabe02f5SSean BrunoCounts number of SSE* single precision FP scalar 270*fabe02f5SSean Brunouops executed. 271*fabe02f5SSean Bruno.It Li FP_COMP_OPS_EXE.SSE_PACKED_SINGLE 272*fabe02f5SSean Bruno.Pq Event 10H , Umask 40H 273*fabe02f5SSean BrunoCounts number of SSE* single precision FP packed 274*fabe02f5SSean Brunouops executed. 275*fabe02f5SSean Bruno.It Li FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE 276*fabe02f5SSean Bruno.Pq Event 10H , Umask 80H 277*fabe02f5SSean BrunoCounts number of SSE* double precision FP scalar 278*fabe02f5SSean Brunouops executed. 279*fabe02f5SSean Bruno.It Li SIMD_FP_256.PACKED_SINGLE 280*fabe02f5SSean Bruno.Pq Event 11H , Umask 01H 281*fabe02f5SSean BrunoCounts 256-bit packed single-precision floating- 282*fabe02f5SSean Brunopoint instructions. 283*fabe02f5SSean Bruno.It Li SIMD_FP_256.PACKED_DOUBLE 284*fabe02f5SSean Bruno.Pq Event 11H , Umask 02H 285*fabe02f5SSean BrunoCounts 256-bit packed double-precision floating- 286*fabe02f5SSean Brunopoint instructions. 287*fabe02f5SSean Bruno.It Li ARITH.FPU_DIV_ACTIVE 288*fabe02f5SSean Bruno.Pq Event 14H , Umask 01H 289*fabe02f5SSean BrunoCycles that the divider is active, includes INT and FP. 290*fabe02f5SSean BrunoSet 'edge =1, cmask=1' to count the number of 291*fabe02f5SSean Brunodivides. 292*fabe02f5SSean Bruno.It Li INSTS_WRITTEN_TO_IQ.INSTS 293*fabe02f5SSean Bruno.Pq Event 17H , Umask 01H 294*fabe02f5SSean BrunoCounts the number of instructions written into the 295*fabe02f5SSean BrunoIQ every cycle. 296*fabe02f5SSean Bruno.It Li L2_RQSTS.DEMAND_DATA_RD_HIT 297*fabe02f5SSean Bruno.Pq Event 24H , Umask 01H 298*fabe02f5SSean BrunoDemand Data Read requests that hit L2 cache. 299*fabe02f5SSean Bruno.It Li L2_RQSTS.ALL_DEMAND_DATA_RD 300*fabe02f5SSean Bruno.Pq Event 24H , Umask 03H 301*fabe02f5SSean BrunoCounts any demand and L1 HW prefetch data load 302*fabe02f5SSean Brunorequests to L2. 303*fabe02f5SSean Bruno.It Li L2_RQSTS.RFO_HITS 304*fabe02f5SSean Bruno.Pq Event 24H , Umask 04H 305*fabe02f5SSean BrunoCounts the number of store RFO requests that 306*fabe02f5SSean Brunohit the L2 cache. 307*fabe02f5SSean Bruno.It Li L2_RQSTS.RFO_MISS 308*fabe02f5SSean Bruno.Pq Event 24H , Umask 08H 309*fabe02f5SSean BrunoCounts the number of store RFO requests that 310*fabe02f5SSean Brunomiss the L2 cache. 311*fabe02f5SSean Bruno.It Li L2_RQSTS.ALL_RFO 312*fabe02f5SSean Bruno.Pq Event 24H , Umask 0CH 313*fabe02f5SSean BrunoCounts all L2 store RFO requests. 314*fabe02f5SSean Bruno.It Li L2_RQSTS.CODE_RD_HIT 315*fabe02f5SSean Bruno.Pq Event 24H , Umask 10H 316*fabe02f5SSean BrunoNumber of instruction fetches that hit the L2 317*fabe02f5SSean Brunocache. 318*fabe02f5SSean Bruno.It Li L2_RQSTS.CODE_RD_MISS 319*fabe02f5SSean Bruno.Pq Event 24H , Umask 20H 320*fabe02f5SSean BrunoNumber of instruction fetches that missed the L2 321*fabe02f5SSean Brunocache. 322*fabe02f5SSean Bruno.It Li L2_RQSTS.ALL_CODE_RD 323*fabe02f5SSean Bruno.Pq Event 24H , Umask 30H 324*fabe02f5SSean BrunoCounts all L2 code requests. 325*fabe02f5SSean Bruno.It Li L2_RQSTS.PF_HIT 326*fabe02f5SSean Bruno.Pq Event 24H , Umask 40H 327*fabe02f5SSean BrunoRequests from L2 Hardware prefetcher that hit L2. 328*fabe02f5SSean Bruno.It Li L2_RQSTS.PF_MISS 329*fabe02f5SSean Bruno.Pq Event 24H , Umask 80H 330*fabe02f5SSean BrunoRequests from L2 Hardware prefetcher that missed 331*fabe02f5SSean BrunoL2. 332*fabe02f5SSean Bruno.It Li L2_RQSTS.ALL_PF 333*fabe02f5SSean Bruno.Pq Event 24H , Umask C0H 334*fabe02f5SSean BrunoAny requests from L2 Hardware prefetchers. 335*fabe02f5SSean Bruno.It Li L2_STORE_LOCK_RQSTS.MISS 336*fabe02f5SSean Bruno.Pq Event 27H , Umask 01H 337*fabe02f5SSean BrunoROs that miss cache lines. 338*fabe02f5SSean Bruno.It Li L2_STORE_LOCK_RQSTS.HIT_E 339*fabe02f5SSean Bruno.Pq Event 27H , Umask 04H 340*fabe02f5SSean BrunoRFOs that hit cache lines in E state. 341*fabe02f5SSean Bruno.It Li L2_STORE_LOCK_RQSTS.HIT_M 342*fabe02f5SSean Bruno.Pq Event 27H , Umask 08H 343*fabe02f5SSean BrunoRFOs that hit cache lines in M state. 344*fabe02f5SSean Bruno.It Li L2_STORE_LOCK_RQSTS.ALL 345*fabe02f5SSean Bruno.Pq Event 27H , Umask 0FH 346*fabe02f5SSean BrunoRFOs that access cache lines in any state. 347*fabe02f5SSean Bruno.It Li L2_L1D_WB_RQSTS.MISS 348*fabe02f5SSean Bruno.Pq Event 28H , Umask 01H 349*fabe02f5SSean BrunoNot rejected writebacks from L1D to L2 cache lines 350*fabe02f5SSean Brunothat missed L2. 351*fabe02f5SSean Bruno.It Li L2_L1D_WB_RQSTS.HIT_S 352*fabe02f5SSean Bruno.Pq Event 28H , Umask 02H 353*fabe02f5SSean BrunoNot rejected writebacks from L1D to L2 cache lines 354*fabe02f5SSean Brunoin S state. 355*fabe02f5SSean Bruno.It Li L2_L1D_WB_RQSTS.HIT_E 356*fabe02f5SSean Bruno.Pq Event 28H , Umask 04H 357*fabe02f5SSean BrunoNot rejected writebacks from L1D to L2 cache lines 358*fabe02f5SSean Brunoin E state. 359*fabe02f5SSean Bruno.It Li L2_L1D_WB_RQSTS.HIT_M 360*fabe02f5SSean Bruno.Pq Event 28H , Umask 08H 361*fabe02f5SSean BrunoNot rejected writebacks from L1D to L2 cache lines 362*fabe02f5SSean Brunoin M state. 363*fabe02f5SSean Bruno.It Li L2_L1D_WB_RQSTS.ALL 364*fabe02f5SSean Bruno.Pq Event 28H , Umask 0FH 365*fabe02f5SSean BrunoNot rejected writebacks from L1D to L2 cache. 366*fabe02f5SSean Bruno.It Li LONGEST_LAT_CACHE.REFERENCE 367*fabe02f5SSean Bruno.Pq Event 2EH , Umask 4FH 368*fabe02f5SSean BrunoThis event counts requests originating from the 369*fabe02f5SSean Brunocore that reference 370*fabe02f5SSean Brunoa cache line in the last level cache. 371*fabe02f5SSean Bruno.It Li LONGEST_LAT_CACHE.MISS 372*fabe02f5SSean Bruno.Pq Event 2EH , Umask 41H 373*fabe02f5SSean BrunoThis event counts each cache miss condition for 374*fabe02f5SSean Brunoreferences to the last level cache. 375*fabe02f5SSean Bruno.It Li CPU_CLK_UNHALTED.THREAD_P 376*fabe02f5SSean Bruno.Pq Event 3CH , Umask 00H 377*fabe02f5SSean BrunoCounts the number of thread cycles while the 378*fabe02f5SSean Brunothread is not in a halt state. The thread enters 379*fabe02f5SSean Brunothe halt state when it is running the HLT 380*fabe02f5SSean Brunoinstruction. The core frequency may change from 381*fabe02f5SSean Brunotime to time due to power or thermal throttling. 382*fabe02f5SSean Bruno.It Li CPU_CLK_THREAD_UNHALTED.REF_XCLK 383*fabe02f5SSean Bruno.Pq Event 3CH , Umask 01H 384*fabe02f5SSean BrunoIncrements at the frequency of XCLK (100 MHz) 385*fabe02f5SSean Brunowhen not halted. 386*fabe02f5SSean Bruno.It Li L1D_PEND_MISS.PENDING 387*fabe02f5SSean Bruno.Pq Event 48H , Umask 01H 388*fabe02f5SSean BrunoIncrements the number of outstanding L1D misses 389*fabe02f5SSean Brunoevery cycle. 390*fabe02f5SSean BrunoSet Cmaks = 1 and Edge =1 to count occurrences. 391*fabe02f5SSean Bruno.It Li DTLB_STORE_MISSES.MISS_CAUSES_A_WALK 392*fabe02f5SSean Bruno.Pq Event 49H , Umask 01H 393*fabe02f5SSean BrunoMiss in all TLB levels causes an page walk of 394*fabe02f5SSean Brunoany page size (4K/2M/4M/1G). 395*fabe02f5SSean Bruno.It Li DTLB_STORE_MISSES.WALK_COMPLETED 396*fabe02f5SSean Bruno.Pq Event 49H , Umask 02H 397*fabe02f5SSean BrunoMiss in all TLB levels causes a page walk that 398*fabe02f5SSean Brunocompletes of any page size (4K/2M/4M/1G). 399*fabe02f5SSean Bruno.It Li DTLB_STORE_MISSES.WALK_DURATION 400*fabe02f5SSean Bruno.Pq Event 49H , Umask 04H 401*fabe02f5SSean BrunoCycles PMH is busy with this walk. 402*fabe02f5SSean Bruno.It Li DTLB_STORE_MISSES.STLB_HIT 403*fabe02f5SSean Bruno.Pq Event 49H , Umask 10H 404*fabe02f5SSean BrunoStore operations that miss the first TLB level 405*fabe02f5SSean Brunobut hit the second and do not cause page walks. 406*fabe02f5SSean Bruno.It Li LOAD_HIT_PRE.SW_PF 407*fabe02f5SSean Bruno.Pq Event 4CH , Umask 01H 408*fabe02f5SSean BrunoNot SW-prefetch load dispatches that hit fill 409*fabe02f5SSean Brunobuffer allocated for S/W prefetch. 410*fabe02f5SSean Bruno.It Li LOAD_HIT_PER.HW_PF 411*fabe02f5SSean Bruno.Pq Event 4CH , Umask 02H 412*fabe02f5SSean BrunoNot SW-prefetch load dispatches that hit fill 413*fabe02f5SSean Brunobuffer allocated for H/W prefetch. 414*fabe02f5SSean Bruno.It Li HW_PRE_REQ.DL1_MISS 415*fabe02f5SSean Bruno.Pq Event 4EH , Umask 02H 416*fabe02f5SSean BrunoHardware Prefetch requests that miss the L1D 417*fabe02f5SSean Brunocache. A request is being counted each time 418*fabe02f5SSean Brunoit access the cache & miss it, including if 419*fabe02f5SSean Brunoa block is applicable or if hit the Fill 420*fabe02f5SSean BrunoBuffer for example. 421*fabe02f5SSean Bruno.It Li L1D.REPLACEMENT 422*fabe02f5SSean Bruno.Pq Event 51H , Umask 01H 423*fabe02f5SSean BrunoCounts the number of lines brought into the 424*fabe02f5SSean BrunoL1 data cache. 425*fabe02f5SSean Bruno.It Li L1D.ALLOCATED_IN_M 426*fabe02f5SSean Bruno.Pq Event 51H , Umask 02H 427*fabe02f5SSean BrunoCounts the number of allocations of modified 428*fabe02f5SSean BrunoL1D cache lines. 429*fabe02f5SSean Bruno.It Li L1D.EVICTION 430*fabe02f5SSean Bruno.Pq Event 51H , Umask 04H 431*fabe02f5SSean BrunoCounts the number of modified lines evicted 432*fabe02f5SSean Brunofrom the L1 data cache due to replacement. 433*fabe02f5SSean Bruno.It Li L1D.ALL_M_REPLACEMENT 434*fabe02f5SSean Bruno.Pq Event 51H , Umask 08H 435*fabe02f5SSean BrunoCache lines in M state evicted out of L1D due 436*fabe02f5SSean Brunoto Snoop HitM or dirty line replacement. 437*fabe02f5SSean Bruno.It Li PARTIAL_RAT_STALLS.FLAGS_MERGE_UOP 438*fabe02f5SSean Bruno.Pq Event 59H , Umask 0CH 439*fabe02f5SSean BrunoIncrements the number of flags-merge uops in 440*fabe02f5SSean Brunoflight each cycle. 441*fabe02f5SSean BrunoSet Cmask = 1 to count cycles. 442*fabe02f5SSean Bruno.It Li PARTIAL_RAT_STALLS.SLOW_LEA_WINDOW 443*fabe02f5SSean Bruno.Pq Event 59H , Umask 0FH 444*fabe02f5SSean BrunoCycles with at least one slow LEA uop allocated. 445*fabe02f5SSean Bruno.It Li PARTIAL_RAT_STALLS.MUL_SINGLE_UOP 446*fabe02f5SSean Bruno.Pq Event 59H , Umask 40H 447*fabe02f5SSean BrunoNumber of Multiply packed/scalar single precision 448*fabe02f5SSean Brunouops allocated. 449*fabe02f5SSean Bruno.It Li RESOURCE_STALLS2.ALL_FL_EMPTY 450*fabe02f5SSean Bruno.Pq Event 5BH , Umask 0CH 451*fabe02f5SSean BrunoCycles stalled due to free list empty. 452*fabe02f5SSean Bruno.It Li RESOURCE_STALLS2.ALL_PRF_CONTROL 453*fabe02f5SSean Bruno.Pq Event 5BH , Umask 0FH 454*fabe02f5SSean BrunoCycles stalled due to control structures full for 455*fabe02f5SSean Brunophysical registers. 456*fabe02f5SSean Bruno.It Li RESOURCE_STALLS2.BOB_FULL 457*fabe02f5SSean Bruno.Pq Event 5BH , Umask 40H 458*fabe02f5SSean BrunoCycles Allocator is stalled due Branch Order Buffer. 459*fabe02f5SSean Bruno.It Li RESOURCE_STALLS2.OOO_RSRC 460*fabe02f5SSean Bruno.Pq Event 5BH , Umask 4FH 461*fabe02f5SSean BrunoCycles stalled due to out of order resources full. 462*fabe02f5SSean Bruno.It Li CPL_CYCLES.RING0 463*fabe02f5SSean Bruno.Pq Event 5CH , Umask 01H 464*fabe02f5SSean BrunoUnhalted core cycles when the thread is in ring 0. 465*fabe02f5SSean Bruno.It Li CPL_CYCLES.RING123 466*fabe02f5SSean Bruno.Pq Event 5CH , Umask 02H 467*fabe02f5SSean BrunoUnhalted core cycles when the thread is not in ring 468*fabe02f5SSean Bruno0. 469*fabe02f5SSean Bruno.It Li RS_EVENTS.EMPTY_CYCLES 470*fabe02f5SSean Bruno.Pq Event 5EH , Umask 01H 471*fabe02f5SSean BrunoCycles the RS is empty for the thread. 472*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD 473*fabe02f5SSean Bruno.Pq Event 60H , Umask 01H 474*fabe02f5SSean BrunoOffcore outstanding Demand Data Read 475*fabe02f5SSean Brunotransactions in SQ to uncore. Set Cmask=1 to count 476*fabe02f5SSean Brunocycles. 477*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_RFO 478*fabe02f5SSean Bruno.Pq Event 60H , Umask 04H 479*fabe02f5SSean BrunoOffcore outstanding RFO store transactions in SQ to 480*fabe02f5SSean Brunouncore. Set Cmask=1 to count cycles. 481*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD 482*fabe02f5SSean Bruno.Pq Event 60H , Umask 08H 483*fabe02f5SSean BrunoOffcore outstanding cacheable data read 484*fabe02f5SSean Brunotransactions in SQ to uncore. Set Cmask=1 to count 485*fabe02f5SSean Brunocycles. 486*fabe02f5SSean Bruno.It Li LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION 487*fabe02f5SSean Bruno.Pq Event 63H , Umask 01H 488*fabe02f5SSean BrunoCycles in which the L1D and L2 are locked, due to a 489*fabe02f5SSean BrunoUC lock or split lock. 490*fabe02f5SSean Bruno.It Li LOCK_CYCLES.CACHE_LOCK_DURATION 491*fabe02f5SSean Bruno.Pq Event 63H , Umask 02H 492*fabe02f5SSean BrunoCycles in which the L1D is locked. 493*fabe02f5SSean Bruno.It Li IDQ.EMPTY 494*fabe02f5SSean Bruno.Pq Event 79H , Umask 02H 495*fabe02f5SSean BrunoCounts cycles the IDQ is empty. 496*fabe02f5SSean Bruno.It Li IDQ.MITE_UOPS 497*fabe02f5SSean Bruno.Pq Event 79H , Umask 04H 498*fabe02f5SSean BrunoIncrement each cycle # of uops delivered to IDQ 499*fabe02f5SSean Brunofrom MITE path. 500*fabe02f5SSean BrunoSet Cmask = 1 to count cycles. 501*fabe02f5SSean Bruno.It Li IDQ.DSB_UOPS 502*fabe02f5SSean Bruno.Pq Event 79H , Umask 08H 503*fabe02f5SSean BrunoIncrement each cycle. # of uops delivered to IDQ 504*fabe02f5SSean Brunofrom DSB path. 505*fabe02f5SSean BrunoSet Cmask = 1 to count cycles. 506*fabe02f5SSean Bruno.It Li IDQ.MS_DSB_UOPS 507*fabe02f5SSean Bruno.Pq Event 79H , Umask 10H 508*fabe02f5SSean BrunoIncrement each cycle # of uops delivered to IDQ 509*fabe02f5SSean Brunowhen MS busy by DSB. Set Cmask = 1 to count 510*fabe02f5SSean Brunocycles MS is busy. Set Cmask=1 and Edge =1 to 511*fabe02f5SSean Brunocount MS activations. 512*fabe02f5SSean Bruno.It Li IDQ.MS_MITE_UOPS 513*fabe02f5SSean Bruno.Pq Event 79H , Umask 20H 514*fabe02f5SSean BrunoIncrement each cycle # of uops delivered to IDQ 515*fabe02f5SSean Brunowhen MS is busy by MITE. Set Cmask = 1 to count 516*fabe02f5SSean Brunocycles. 517*fabe02f5SSean Bruno.It Li IDQ.MS_UOPS 518*fabe02f5SSean Bruno.Pq Event 79H , Umask 30H 519*fabe02f5SSean BrunoIncrement each cycle # of uops delivered to IDQ 520*fabe02f5SSean Brunofrom MS by either DSB or MITE. Set Cmask = 1 to 521*fabe02f5SSean Brunocount cycles. 522*fabe02f5SSean Bruno.It Li ICACHE.MISSES 523*fabe02f5SSean Bruno.Pq Event 80H , Umask 02H 524*fabe02f5SSean BrunoNumber of Instruction Cache, Streaming Buffer and 525*fabe02f5SSean BrunoVictim Cache Misses. Includes UC accesses. 526*fabe02f5SSean Bruno.It Li ITLB_MISSES.MISS_CAUSES_A_WALK 527*fabe02f5SSean Bruno.Pq Event 85H , Umask 01H 528*fabe02f5SSean BrunoMisses in all ITLB levels that cause page walks. 529*fabe02f5SSean Bruno.It Li ITLB_MISSES.WALK_COMPLETED 530*fabe02f5SSean Bruno.Pq Event 85H , Umask 02H 531*fabe02f5SSean BrunoMisses in all ITLB levels that cause completed page 532*fabe02f5SSean Brunowalks. 533*fabe02f5SSean Bruno.It Li ITLB_MISSES.WALK_DURATION 534*fabe02f5SSean Bruno.Pq Event 85H , Umask 04H 535*fabe02f5SSean BrunoCycle PMH is busy with a walk. 536*fabe02f5SSean Bruno.It Li ITLB_MISSES.STLB_HIT 537*fabe02f5SSean Bruno.Pq Event 85H , Umask 10H 538*fabe02f5SSean BrunoNumber of cache load STLB hits. No page walk. 539*fabe02f5SSean Bruno.It Li ILD_STALL.LCP 540*fabe02f5SSean Bruno.Pq Event 87H , Umask 01H 541*fabe02f5SSean BrunoStalls caused by changing prefix length of the 542*fabe02f5SSean Brunoinstruction. 543*fabe02f5SSean Bruno.It Li ILD_STALL.IQ_FULL 544*fabe02f5SSean Bruno.Pq Event 87H , Umask 04H 545*fabe02f5SSean BrunoStall cycles due to IQ is full. 546*fabe02f5SSean Bruno.It Li BR_INST_EXEC.COND 547*fabe02f5SSean Bruno.Pq Event 88H , Umask 01H 548*fabe02f5SSean BrunoQualify conditional near branch instructions 549*fabe02f5SSean Brunoexecuted, but not necessarily retired. 550*fabe02f5SSean Bruno.It Li BR_INST_EXEC.DIRECT_JMP 551*fabe02f5SSean Bruno.Pq Event 88H , Umask 02H 552*fabe02f5SSean BrunoQualify all unconditional near branch instructions 553*fabe02f5SSean Brunoexcluding calls and indirect branches. 554*fabe02f5SSean Bruno.It Li BR_INST_EXEC.INDIRECT_JMP_NON_CALL_RET 555*fabe02f5SSean Bruno.Pq Event 88H , Umask 04H 556*fabe02f5SSean BrunoQualify executed indirect near branch instructions 557*fabe02f5SSean Brunothat are not calls nor returns. 558*fabe02f5SSean Bruno.It Li BR_INST_EXEC.RETURN_NEAR 559*fabe02f5SSean Bruno.Pq Event 88H , Umask 08H 560*fabe02f5SSean BrunoQualify indirect near branches that have a return 561*fabe02f5SSean Brunomnemonic. 562*fabe02f5SSean Bruno.It Li BR_INST_EXEC.DIRECT_NEAR_CALL 563*fabe02f5SSean Bruno.Pq Event 88H , Umask 10H 564*fabe02f5SSean BrunoQualify unconditional near call branch instructions, 565*fabe02f5SSean Brunoexcluding non call branch, executed. 566*fabe02f5SSean Bruno.It Li BR_INST_EXEC.INDIRECT_NEAR_CALL 567*fabe02f5SSean Bruno.Pq Event 88H , Umask 20H 568*fabe02f5SSean BrunoQualify indirect near calls, including both register 569*fabe02f5SSean Brunoand memory indirect, executed. 570*fabe02f5SSean Bruno.It Li BR_INST_EXEC.NONTAKEN 571*fabe02f5SSean Bruno.Pq Event 88H , Umask 40H 572*fabe02f5SSean BrunoQualify non-taken near branches executed. 573*fabe02f5SSean Bruno.It Li BR_INST_EXEC.TAKEN 574*fabe02f5SSean Bruno.Pq Event 88H , Umask 80H 575*fabe02f5SSean BrunoQualify taken near branches executed. Must 576*fabe02f5SSean Brunocombine with 01H,02H, 04H, 08H, 10H, 20H. 577*fabe02f5SSean Bruno.It Li BR_INST_EXE.ALL_BRANCHES 578*fabe02f5SSean Bruno.Pq Event 88H , Umask FFH 579*fabe02f5SSean BrunoCounts all near executed branches (not necessarily 580*fabe02f5SSean Brunoretired). 581*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.COND 582*fabe02f5SSean Bruno.Pq Event 89H , Umask 01H 583*fabe02f5SSean BrunoQualify conditional near branch instructions 584*fabe02f5SSean Brunomispredicted. 585*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.INDIRECT_JMP_NON_CALL_RET 586*fabe02f5SSean Bruno.Pq Event 89H , Umask 04H 587*fabe02f5SSean BrunoQualify mispredicted indirect near branch 588*fabe02f5SSean Brunoinstructions that are not calls nor returns. 589*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.RETURN_NEAR 590*fabe02f5SSean Bruno.Pq Event 89H , Umask 08H 591*fabe02f5SSean BrunoQualify mispredicted indirect near branches that 592*fabe02f5SSean Brunohave a return mnemonic. 593*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.DIRECT_NEAR_CALL 594*fabe02f5SSean Bruno.Pq Event 89H , Umask 10H 595*fabe02f5SSean BrunoQualify mispredicted unconditional near call branch 596*fabe02f5SSean Brunoinstructions, excluding non call branch, executed. 597*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.INDIRECT_NEAR_CALL 598*fabe02f5SSean Bruno.Pq Event 89H , Umask 20H 599*fabe02f5SSean BrunoQualify mispredicted indirect near calls, including 600*fabe02f5SSean Brunoboth register and memory indirect, executed. 601*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.NONTAKEN 602*fabe02f5SSean Bruno.Pq Event 89H , Umask 40H 603*fabe02f5SSean BrunoQualify mispredicted non-taken near branches 604*fabe02f5SSean Brunoexecuted,. 605*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.TAKEN 606*fabe02f5SSean Bruno.Pq Event 89H , Umask 80H 607*fabe02f5SSean BrunoQualify mispredicted taken near branches executed. 608*fabe02f5SSean BrunoMust combine with 01H,02H, 04H, 08H, 10H, 20H 609*fabe02f5SSean Bruno.It Li BR_MISP_EXEC.ALL_BRANCHES 610*fabe02f5SSean Bruno.Pq Event 89H , Umask FFH 611*fabe02f5SSean BrunoCounts all near executed branches (not necessarily 612*fabe02f5SSean Brunoretired). 613*fabe02f5SSean Bruno.It Li IDQ_UOPS_NOT_DELIVERED.CORE 614*fabe02f5SSean Bruno.Pq Event 9CH , Umask 01H 615*fabe02f5SSean BrunoCount number of non-delivered uops to RAT per 616*fabe02f5SSean Brunothread. 617*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_0 618*fabe02f5SSean Bruno.Pq Event A1H , Umask 01H 619*fabe02f5SSean BrunoCycles which a Uop is dispatched on port 0. 620*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_1 621*fabe02f5SSean Bruno.Pq Event A1H , Umask 02H 622*fabe02f5SSean BrunoCycles which a Uop is dispatched on port 1. 623*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_2_LD 624*fabe02f5SSean Bruno.Pq Event A1H , Umask 04H 625*fabe02f5SSean BrunoCycles which a load uop is dispatched on port 2. 626*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_2_STA 627*fabe02f5SSean Bruno.Pq Event A1H , Umask 08H 628*fabe02f5SSean BrunoCycles which a store address uop is dispatched on 629*fabe02f5SSean Brunoport 2. 630*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_2 631*fabe02f5SSean Bruno.Pq Event A1H , Umask 0CH 632*fabe02f5SSean BrunoCycles which a Uop is dispatched on port 2. 633*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_3_LD 634*fabe02f5SSean Bruno.Pq Event A1H , Umask 10H 635*fabe02f5SSean BrunoCycles which a load uop is dispatched on port 3. 636*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_3_STA 637*fabe02f5SSean Bruno.Pq Event A1H , Umask 20H 638*fabe02f5SSean BrunoCycles which a store address uop is dispatched on 639*fabe02f5SSean Brunoport 3. 640*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_3 641*fabe02f5SSean Bruno.Pq Event A1H , Umask 30H 642*fabe02f5SSean BrunoCycles which a Uop is dispatched on port 3. 643*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_4 644*fabe02f5SSean Bruno.Pq Event A1H , Umask 40H 645*fabe02f5SSean BrunoCycles which a Uop is dispatched on port 4. 646*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED_PORT.PORT_5 647*fabe02f5SSean Bruno.Pq Event A1H , Umask 80H 648*fabe02f5SSean BrunoCycles which a Uop is dispatched on port 5. 649*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.ANY 650*fabe02f5SSean Bruno.Pq Event A2H , Umask 01H 651*fabe02f5SSean BrunoCycles Allocation is stalled due to Resource Related 652*fabe02f5SSean Brunoreason. 653*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.LB 654*fabe02f5SSean Bruno.Pq Event A2H , Umask 01H 655*fabe02f5SSean BrunoCounts the cycles of stall due to lack of load buffers. 656*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.RS 657*fabe02f5SSean Bruno.Pq Event A2H , Umask 04H 658*fabe02f5SSean BrunoCycles stalled due to no eligible RS entry available. 659*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.SB 660*fabe02f5SSean Bruno.Pq Event A2H , Umask 08H 661*fabe02f5SSean BrunoCycles stalled due to no store buffers available. (not 662*fabe02f5SSean Brunoincluding draining form sync). 663*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.ROB 664*fabe02f5SSean Bruno.Pq Event A2H , Umask 10H 665*fabe02f5SSean BrunoCycles stalled due to re-order buffer full. 666*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.FCSW 667*fabe02f5SSean Bruno.Pq Event A2H , Umask 20H 668*fabe02f5SSean BrunoCycles stalled due to writing the FPU control word. 669*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.MXCSR 670*fabe02f5SSean Bruno.Pq Event A2H , Umask 40H 671*fabe02f5SSean BrunoCycles stalled due to the MXCSR register rename 672*fabe02f5SSean Brunooccurring to close to a previous MXCSR rename. 673*fabe02f5SSean Bruno.It Li RESOURCE_STALLS.OTHER 674*fabe02f5SSean Bruno.Pq Event A2H , Umask 80H 675*fabe02f5SSean BrunoCycles stalled while execution was stalled due to 676*fabe02f5SSean Brunoother resource issues. 677*fabe02f5SSean Bruno.It Li CYCLE_ACTIVITY.CYCLES_L2_PENDING 678*fabe02f5SSean Bruno.Pq Event A3H , Umask 01H 679*fabe02f5SSean BrunoCycles with pending L2 miss loads. Set AnyThread 680*fabe02f5SSean Brunoto count per core. 681*fabe02f5SSean Bruno.It Li CYCLE_ACTIVITY.CYCLES_L1D_PENDING 682*fabe02f5SSean Bruno.Pq Event A3H , Umask 02H 683*fabe02f5SSean BrunoCycles with pending L1 cache miss loads.Set 684*fabe02f5SSean BrunoAnyThread to count per core. 685*fabe02f5SSean Bruno.It Li CYCLE_ACTIVITY.CYCLES_NO_DISPATCH 686*fabe02f5SSean Bruno.Pq Event A3H , Umask 04H 687*fabe02f5SSean BrunoCycles of dispatch stalls. Set AnyThread to count per 688*fabe02f5SSean Brunocore. 689*fabe02f5SSean Bruno.It Li DSB2MITE_SWITCHES.COUNT 690*fabe02f5SSean Bruno.Pq Event ABH , Umask 01H 691*fabe02f5SSean BrunoNumber of DSB to MITE switches. 692*fabe02f5SSean Bruno.It Li DSB2MITE_SWITCHES.PENALTY_CYCLES 693*fabe02f5SSean Bruno.Pq Event ABH , Umask 02H 694*fabe02f5SSean BrunoCycles DSB to MITE switches caused delay. 695*fabe02f5SSean Bruno.It Li DSB_FILL.OTHER_CANCEL 696*fabe02f5SSean Bruno.Pq Event ACH , Umask 02H 697*fabe02f5SSean BrunoCases of cancelling valid DSB fill not because of 698*fabe02f5SSean Brunoexceeding way limit. 699*fabe02f5SSean Bruno.It Li DSB_FILL.EXCEED_DSB_LINES 700*fabe02f5SSean Bruno.Pq Event ACH , Umask 08H 701*fabe02f5SSean BrunoDSB Fill encountered > 3 DSB lines. 702*fabe02f5SSean Bruno.It Li DSB_FILL.ALL_CANCEL 703*fabe02f5SSean Bruno.Pq Event ACH , Umask 0AH 704*fabe02f5SSean BrunoCases of cancelling valid Decode Stream Buffer 705*fabe02f5SSean Bruno(DSB) fill not because of exceeding way limit. 706*fabe02f5SSean Bruno.It Li ITLB.ITLB_FLUSH 707*fabe02f5SSean Bruno.Pq Event AEH , Umask 01H 708*fabe02f5SSean BrunoCounts the number of ITLB flushes, includes 709*fabe02f5SSean Bruno4k/2M/4M pages. 710*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS.DEMAND_DATA_RD 711*fabe02f5SSean Bruno.Pq Event B0H , Umask 01H 712*fabe02f5SSean BrunoDemand data read requests sent to uncore. 713*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS.DEMAND_RFO 714*fabe02f5SSean Bruno.Pq Event B0H , Umask 04H 715*fabe02f5SSean BrunoDemand RFO read requests sent to uncore, including 716*fabe02f5SSean Brunoregular RFOs, locks, ItoM. 717*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS.ALL_DATA_RD 718*fabe02f5SSean Bruno.Pq Event B0H , Umask 08H 719*fabe02f5SSean BrunoData read requests sent to uncore (demand and 720*fabe02f5SSean Brunoprefetch). 721*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED.THREAD 722*fabe02f5SSean Bruno.Pq Event B1H , Umask 01H 723*fabe02f5SSean BrunoCounts total number of uops to be dispatched per- 724*fabe02f5SSean Brunothread each cycle. Set Cmask = 1, INV =1 to count 725*fabe02f5SSean Brunostall cycles. 726*fabe02f5SSean Bruno.It Li UOPS_DISPATCHED.CORE 727*fabe02f5SSean Bruno.Pq Event B1H , Umask 02H 728*fabe02f5SSean BrunoCounts total number of uops to be dispatched per- 729*fabe02f5SSean Brunocore each cycle. 730*fabe02f5SSean Bruno.It Li OFFCORE_REQUESTS_BUFFER.SQ_FULL 731*fabe02f5SSean Bruno.Pq Event B2H , Umask 01H 732*fabe02f5SSean BrunoOffcore requests buffer cannot take more entries 733*fabe02f5SSean Brunofor this thread core. 734*fabe02f5SSean Bruno.It Li AGU_BYPASS_CANCEL.COUNT 735*fabe02f5SSean Bruno.Pq Event B6H , Umask 01H 736*fabe02f5SSean BrunoCounts executed load operations with all the 737*fabe02f5SSean Brunofollowing traits: 1. addressing of the format [base + 738*fabe02f5SSean Brunooffset], 2. the offset is between 1 and 2047, 3. the 739*fabe02f5SSean Brunoaddress specified in the base register is in one page 740*fabe02f5SSean Brunoand the address [base+offset] is in another page. 741*fabe02f5SSean Bruno.It Li OFF_CORE_RESPONSE_0 742*fabe02f5SSean Bruno.Pq Event B7H , Umask 01H 743*fabe02f5SSean Bruno(Event B7H, Umask 01H) Off-core Response Performance 744*fabe02f5SSean BrunoMonitoring; PMC0 only. Requires programming MSR 01A6H 745*fabe02f5SSean Bruno.It Li OFF_CORE_RESPONSE_1 746*fabe02f5SSean Bruno.Pq Event BBH , Umask 01H 747*fabe02f5SSean Bruno(Event BBH, Umask 01H) Off-core Response Performance 748*fabe02f5SSean BrunoMonitoring; PMC3 only. Requires programming MSR 01A7H 749*fabe02f5SSean Bruno.It Li TLB_FLUSH.DTLB_THREAD 750*fabe02f5SSean Bruno.Pq Event BDH , Umask 01H 751*fabe02f5SSean BrunoDTLB flush attempts of the thread-specific entries. 752*fabe02f5SSean Bruno.It Li TLB_FLUSH.STLB_ANY 753*fabe02f5SSean Bruno.Pq Event BDH , Umask 20H 754*fabe02f5SSean BrunoCount number of STLB flush attempts. 755*fabe02f5SSean Bruno.It Li L1D_BLOCKS.BANK_CONFLICT_CYCLES 756*fabe02f5SSean Bruno.Pq Event BFH , Umask 05H 757*fabe02f5SSean BrunoCycles when dispatched loads are cancelled due to 758*fabe02f5SSean BrunoL1D bank conflicts with other load ports. 759*fabe02f5SSean Bruno.It Li INST_RETIRED.ANY_P 760*fabe02f5SSean Bruno.Pq Event C0H , Umask 00H 761*fabe02f5SSean BrunoNumber of instructions at retirement. 762*fabe02f5SSean Bruno.It Li INST_RETIRED.ALL 763*fabe02f5SSean Bruno.Pq Event C0H , Umask 01H 764*fabe02f5SSean BrunoPrecise instruction retired event with HW to reduce 765*fabe02f5SSean Brunoeffect of PEBS shadow in IP distribution. 766*fabe02f5SSean Bruno.It Li OTHER_ASSISTS.ITLB_MISS_RETIRED 767*fabe02f5SSean Bruno.Pq Event C1H , Umask 02H 768*fabe02f5SSean BrunoInstructions that experienced an ITLB miss. 769*fabe02f5SSean Bruno.It Li OTHER_ASSISTS.AVX_STORE 770*fabe02f5SSean Bruno.Pq Event C1H , Umask 08H 771*fabe02f5SSean BrunoNumber of assists associated with 256-bit AVX 772*fabe02f5SSean Brunostore operations. 773*fabe02f5SSean Bruno.It Li OTHER_ASSISTS.AVX_TO_SSE 774*fabe02f5SSean Bruno.Pq Event C1H , Umask 10H 775*fabe02f5SSean BrunoNumber of transitions from AVX-256 to legacy SSE 776*fabe02f5SSean Brunowhen penalty applicable. 777*fabe02f5SSean Bruno.It Li OTHER_ASSISTS.SSE_TO_AVX 778*fabe02f5SSean Bruno.Pq Event C1H , Umask 20H 779*fabe02f5SSean BrunoNumber of transitions from SSE to AVX-256 when 780*fabe02f5SSean Brunopenalty applicable. 781*fabe02f5SSean Bruno.It Li UOPS_RETIRED.ALL 782*fabe02f5SSean Bruno.Pq Event C2H , Umask 01H 783*fabe02f5SSean BrunoCounts the number of micro-ops retired, Use 784*fabe02f5SSean Brunocmask=1 and invert to count active cycles or stalled 785*fabe02f5SSean Brunocycles. 786*fabe02f5SSean Bruno.It Li UOPS_RETIRED.RETIRE_SLOTS 787*fabe02f5SSean Bruno.Pq Event C2H , Umask 02H 788*fabe02f5SSean BrunoCounts the number of retirement slots used each 789*fabe02f5SSean Brunocycle. 790*fabe02f5SSean Bruno.It Li MACHINE_CLEARS.MEMORY_ORDERING 791*fabe02f5SSean Bruno.Pq Event C3H , Umask 02H 792*fabe02f5SSean BrunoCounts the number of machine clears due to 793*fabe02f5SSean Brunomemory order conflicts. 794*fabe02f5SSean Bruno.It Li MACHINE_CLEARS.SMC 795*fabe02f5SSean Bruno.Pq Event C3H , Umask 04H 796*fabe02f5SSean BrunoCounts the number of times that a program writes 797*fabe02f5SSean Brunoto a code section. 798*fabe02f5SSean Bruno.It Li MACHINE_CLEARS.MASKMOV 799*fabe02f5SSean Bruno.Pq Event C3H , Umask 20H 800*fabe02f5SSean BrunoCounts the number of executed AVX masked load 801*fabe02f5SSean Brunooperations that refer to an illegal address range 802*fabe02f5SSean Brunowith the mask bits set to 0. 803*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.ALL_BRANCH 804*fabe02f5SSean Bruno.Pq Event C4H , Umask 00H 805*fabe02f5SSean BrunoBranch instructions at retirement. 806*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.CONDITIONAL 807*fabe02f5SSean Bruno.Pq Event C4H , Umask 01H 808*fabe02f5SSean BrunoCounts the number of conditional branch 809*fabe02f5SSean Brunoinstructions retired. 810*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.NEAR_CALL 811*fabe02f5SSean Bruno.Pq Event C4H , Umask 02H 812*fabe02f5SSean BrunoDirect and indirect near call instructions retired. 813*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.ALL_BRANCHES 814*fabe02f5SSean Bruno.Pq Event C4H , Umask 04H 815*fabe02f5SSean BrunoCounts the number of branch instructions retired. 816*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.NEAR_RETURN 817*fabe02f5SSean Bruno.Pq Event C4H , Umask 08H 818*fabe02f5SSean BrunoCounts the number of near return instructions 819*fabe02f5SSean Brunoretired. 820*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.NOT_TAKEN 821*fabe02f5SSean Bruno.Pq Event C4H , Umask 10H 822*fabe02f5SSean BrunoCounts the number of not taken branch instructions 823*fabe02f5SSean Brunoretired. 824*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.NEAR_TAKEN 825*fabe02f5SSean Bruno.Pq Event C4H , Umask 20H 826*fabe02f5SSean BrunoNumber of near taken branches retired. 827*fabe02f5SSean Bruno.It Li BR_INST_RETIRED.FAR_BRANCH 828*fabe02f5SSean Bruno.Pq Event C4H , Umask 40H 829*fabe02f5SSean BrunoNumber of far branches retired. 830*fabe02f5SSean Bruno.It Li BR_MISP_RETIRED.ALL_BRANCHES 831*fabe02f5SSean Bruno.Pq Event C5H , Umask 00H 832*fabe02f5SSean BrunoMispredicted branch instructions at retirement. 833*fabe02f5SSean Bruno.It Li BR_MISP_RETIRED.CONDITIONAL 834*fabe02f5SSean Bruno.Pq Event C5H , Umask 01H 835*fabe02f5SSean BrunoMispredicted conditional branch instructions retired. 836*fabe02f5SSean Bruno.It Li BR_MISP_RETIRED.NEAR_CALL 837*fabe02f5SSean Bruno.Pq Event C5H , Umask 02H 838*fabe02f5SSean BrunoDirect and indirect mispredicted near call 839*fabe02f5SSean Brunoinstructions retired. 840*fabe02f5SSean Bruno.It Li BR_MISP_RETIRED.ALL_BRANCHES 841*fabe02f5SSean Bruno.Pq Event C5H , Umask 04H 842*fabe02f5SSean BrunoMispredicted macro branch instructions retired. 843*fabe02f5SSean Bruno.It Li BR_MISP_RETIRED.NOT_TAKEN 844*fabe02f5SSean Bruno.Pq Event C5H , Umask 10H 845*fabe02f5SSean BrunoMispredicted not taken branch instructions retired. 846*fabe02f5SSean Bruno.It Li BR_MISP_RETIRED.TAKEN 847*fabe02f5SSean Bruno.Pq Event C5H , Umask 20H 848*fabe02f5SSean BrunoMispredicted taken branch instructions retired. 849*fabe02f5SSean Bruno.It Li FP_ASSIST.X87_OUTPUT 850*fabe02f5SSean Bruno.Pq Event CAH , Umask 02H 851*fabe02f5SSean BrunoNumber of X87 assists due to output value. 852*fabe02f5SSean Bruno.It Li FP_ASSIST.X87_INPUT 853*fabe02f5SSean Bruno.Pq Event CAH , Umask 04H 854*fabe02f5SSean BrunoNumber of X87 assists due to input value. 855*fabe02f5SSean Bruno.It Li FP_ASSIST.SIMD_OUTPUT 856*fabe02f5SSean Bruno.Pq Event CAH , Umask 08H 857*fabe02f5SSean Bruno Number of SIMD FP assists due to output values. 858*fabe02f5SSean Bruno.It Li FP_ASSIST.SIMD_INPUT 859*fabe02f5SSean Bruno.Pq Event CAH , Umask 10H 860*fabe02f5SSean BrunoNumber of SIMD FP assists due to input values. 861*fabe02f5SSean Bruno.It Li FP_ASSIST.ANY 1EH 862*fabe02f5SSean Bruno.Pq Event CAH , Umask 863*fabe02f5SSean BrunoCycles with any input/output SSE* or FP assists. 864*fabe02f5SSean Bruno.It Li ROB_MISC_EVENTS.LBR_INSERTS 865*fabe02f5SSean Bruno.Pq Event CCH , Umask 20H 866*fabe02f5SSean BrunoCount cases of saving new LBR records by 867*fabe02f5SSean Brunohardware. 868*fabe02f5SSean Bruno.It Li MEM_TRANS_RETIRED.LOAD_LATENCY 869*fabe02f5SSean Bruno.Pq Event CDH , Umask 01H 870*fabe02f5SSean BrunoSample loads with specified latency threshold. 871*fabe02f5SSean BrunoPMC3 only. 872*fabe02f5SSean Bruno.It Li MEM_TRANS_RETIRED.PRECISE_STORE 873*fabe02f5SSean Bruno.Pq Event CDH , Umask 02H 874*fabe02f5SSean BrunoSample stores and collect precise store operation 875*fabe02f5SSean Brunovia PEBS record. PMC3 only. 876*fabe02f5SSean Bruno.It Li MEM_UOP_RETIRED.LOADS 877*fabe02f5SSean Bruno.Pq Event D0H , Umask 10H 878*fabe02f5SSean BrunoQualify retired memory uops that are loads. 879*fabe02f5SSean BrunoCombine with umask 10H, 20H, 40H, 80H. 880*fabe02f5SSean Bruno.It Li MEM_UOP_RETIRED.STORES 881*fabe02f5SSean Bruno.Pq Event D0H , Umask 02H 882*fabe02f5SSean BrunoQualify retired memory uops that are stores. 883*fabe02f5SSean BrunoCombine with umask 10H, 20H, 40H, 80H. 884*fabe02f5SSean Bruno.It Li MEM_UOP_RETIRED.STLB_MISS 885*fabe02f5SSean Bruno.Pq Event D0H , Umask 886*fabe02f5SSean BrunoQualify retired memory uops with STLB miss. Must 887*fabe02f5SSean Brunocombine with umask 01H, 02H, to produce counts. 888*fabe02f5SSean Bruno.It Li MEM_UOP_RETIRED.LOCK 889*fabe02f5SSean Bruno.Pq Event D0H , Umask 890*fabe02f5SSean BrunoQualify retired memory uops with lock. Must 891*fabe02f5SSean Brunocombine with umask 01H, 02H, to produce counts. 892*fabe02f5SSean Bruno.It Li MEM_UOP_RETIRED.SPLIT 893*fabe02f5SSean Bruno.Pq Event D0H , Umask 894*fabe02f5SSean BrunoQualify retired memory uops with line split. Must 895*fabe02f5SSean Brunocombine with umask 01H, 02H, to produce counts. 896*fabe02f5SSean Bruno.It Li MEM_UOP_RETIRED_ALL 897*fabe02f5SSean Bruno.Pq Event D0H , Umask 898*fabe02f5SSean BrunoQualify any retired memory uops. Must combine 899*fabe02f5SSean Brunowith umask 01H, 02H, to produce counts. 900*fabe02f5SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.L1_HIT 901*fabe02f5SSean Bruno.Pq Event D1H , Umask 01H 902*fabe02f5SSean BrunoRetired load uops with L1 cache hits as data 903*fabe02f5SSean Brunosources. 904*fabe02f5SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.L2_HIT 905*fabe02f5SSean Bruno.Pq Event D1H , Umask 02H 906*fabe02f5SSean BrunoRetired load uops with L2 cache hits as data 907*fabe02f5SSean Brunosources. 908*fabe02f5SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.LLC_HIT 909*fabe02f5SSean Bruno.Pq Event D1H , Umask 04H 910*fabe02f5SSean BrunoRetired load uops which data sources were data hits 911*fabe02f5SSean Brunoin LLC without snoops required. 912*fabe02f5SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.LLC_MISS 913*fabe02f5SSean Bruno.Pq Event D1H , Umask 20H 914*fabe02f5SSean BrunoRetired load uops which data sources were data 915*fabe02f5SSean Brunomissed LLC (excluding unknown data source). 916*fabe02f5SSean Bruno.It Li MEM_LOAD_UOPS_RETIRED.HIT_LFB 917*fabe02f5SSean Bruno.Pq Event D1H , Umask 40H 918*fabe02f5SSean BrunoRetired load uops which data sources were load 919*fabe02f5SSean Brunouops missed L1 but hit FB due to preceding miss to 920*fabe02f5SSean Brunothe same cache line with data not ready. 921*fabe02f5SSean Bruno.It Li MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS 922*fabe02f5SSean Bruno.Pq Event D4H , Umask 02H 923*fabe02f5SSean BrunoRetired load uops with unknown information as data 924*fabe02f5SSean Brunosource in cache serviced the load. 925*fabe02f5SSean Bruno.It Li BACLEARS.ANY 926*fabe02f5SSean Bruno.Pq Event E6H , Umask 01H 927*fabe02f5SSean BrunoCounts the number of times the front end is re- 928*fabe02f5SSean Brunosteered, mainly when the BPU cannot provide a 929*fabe02f5SSean Brunocorrect prediction and this is corrected by other 930*fabe02f5SSean Brunobranch handling mechanisms at the front end. 931*fabe02f5SSean Bruno.It Li L2_TRANS.DEMAND_DATA_RD 932*fabe02f5SSean Bruno.Pq Event F0H , Umask 01H 933*fabe02f5SSean BrunoDemand Data Read requests that access L2 cache. 934*fabe02f5SSean Bruno.It Li L2_TRANS.RFO 935*fabe02f5SSean Bruno.Pq Event F0H , Umask 02H 936*fabe02f5SSean BrunoRFO requests that access L2 cache. 937*fabe02f5SSean Bruno.It Li L2_TRANS.CODE_RD 938*fabe02f5SSean Bruno.Pq Event F0H , Umask 04H 939*fabe02f5SSean BrunoL2 cache accesses when fetching instructions. 940*fabe02f5SSean Bruno.It Li L2_TRANS.ALL_PF 941*fabe02f5SSean Bruno.Pq Event F0H , Umask 08H 942*fabe02f5SSean BrunoL2 or LLC HW prefetches that access L2 cache. 943*fabe02f5SSean Bruno.It Li L2_TRANS.L1D_WB 944*fabe02f5SSean Bruno.Pq Event F0H , Umask 10H 945*fabe02f5SSean BrunoL1D writebacks that access L2 cache. 946*fabe02f5SSean Bruno.It Li L2_TRANS.L2_FILL 947*fabe02f5SSean Bruno.Pq Event F0H , Umask 20H 948*fabe02f5SSean BrunoL2 fill requests that access L2 cache. 949*fabe02f5SSean Bruno.It Li L2_TRANS.L2_WB 950*fabe02f5SSean Bruno.Pq Event F0H , Umask 40H 951*fabe02f5SSean BrunoL2 writebacks that access L2 cache. 952*fabe02f5SSean Bruno.It Li L2_TRANS.ALL_REQUESTS 953*fabe02f5SSean Bruno.Pq Event F0H , Umask 80H 954*fabe02f5SSean BrunoTransactions accessing L2 pipe. 955*fabe02f5SSean Bruno.It Li L2_LINES_IN.I 956*fabe02f5SSean Bruno.Pq Event F1H , Umask 01H 957*fabe02f5SSean BrunoL2 cache lines in I state filling L2. 958*fabe02f5SSean Bruno.It Li L2_LINES_IN.S 959*fabe02f5SSean Bruno.Pq Event F1H , Umask 02H 960*fabe02f5SSean BrunoL2 cache lines in S state filling L2. 961*fabe02f5SSean Bruno.It Li L2_LINES_IN.E 962*fabe02f5SSean Bruno.Pq Event F1H , Umask 04H 963*fabe02f5SSean BrunoL2 cache lines in E state filling L2. 964*fabe02f5SSean Bruno.It Li L2_LINES-IN.ALL 965*fabe02f5SSean Bruno.Pq Event F1H , Umask 07H 966*fabe02f5SSean BrunoL2 cache lines filling L2. 967*fabe02f5SSean Bruno.It Li L2_LINES_OUT.DEMAND_CLEAN 968*fabe02f5SSean Bruno.Pq Event F2H , Umask 01H 969*fabe02f5SSean BrunoClean L2 cache lines evicted by demand. 970*fabe02f5SSean Bruno.It Li L2_LINES_OUT.DEMAND_DIRTY 971*fabe02f5SSean Bruno.Pq Event F2H , Umask 02H 972*fabe02f5SSean BrunoDirty L2 cache lines evicted by demand. 973*fabe02f5SSean Bruno.It Li L2_LINES_OUT.PF_CLEAN 974*fabe02f5SSean Bruno.Pq Event F2H , Umask 04H 975*fabe02f5SSean BrunoClean L2 cache lines evicted by L2 prefetch. 976*fabe02f5SSean Bruno.It Li L2_LINES_OUT.PF_DIRTY 977*fabe02f5SSean Bruno.Pq Event F2H , Umask 08H 978*fabe02f5SSean BrunoDirty L2 cache lines evicted by L2 prefetch. 979*fabe02f5SSean Bruno.It Li L2_LINES_OUT.DIRTY_ALL 980*fabe02f5SSean Bruno.Pq Event F2H , Umask 0AH 981*fabe02f5SSean BrunoDirty L2 cache lines filling the L2. 982*fabe02f5SSean Bruno.It Li SQ_MISC.SPLIT_LOCK 983*fabe02f5SSean Bruno.Pq Event F4H , Umask 10H 984*fabe02f5SSean BrunoSplit locks in SQ. 985*fabe02f5SSean Bruno.El 986*fabe02f5SSean Bruno.Sh SEE ALSO 987*fabe02f5SSean Bruno.Xr pmc 3 , 988*fabe02f5SSean Bruno.Xr pmc.atom 3 , 989*fabe02f5SSean Bruno.Xr pmc.core 3 , 990*fabe02f5SSean Bruno.Xr pmc.iaf 3 , 991*fabe02f5SSean Bruno.Xr pmc.ucf 3 , 992*fabe02f5SSean Bruno.Xr pmc.k7 3 , 993*fabe02f5SSean Bruno.Xr pmc.k8 3 , 994*fabe02f5SSean Bruno.Xr pmc.p4 3 , 995*fabe02f5SSean Bruno.Xr pmc.p5 3 , 996*fabe02f5SSean Bruno.Xr pmc.p6 3 , 997*fabe02f5SSean Bruno.Xr pmc.corei7 3 , 998*fabe02f5SSean Bruno.Xr pmc.corei7uc 3 , 999*fabe02f5SSean Bruno.Xr pmc.ivybridge 3 , 1000*fabe02f5SSean Bruno.Xr pmc.sandybridge 3 , 1001*fabe02f5SSean Bruno.Xr pmc.sandybridgeuc 3 , 1002*fabe02f5SSean Bruno.Xr pmc.westmere 3 , 1003*fabe02f5SSean Bruno.Xr pmc.westmereuc 3 , 1004*fabe02f5SSean Bruno.Xr pmc.soft 3 , 1005*fabe02f5SSean Bruno.Xr pmc.tsc 3 , 1006*fabe02f5SSean Bruno.Xr pmc_cpuinfo 3 , 1007*fabe02f5SSean Bruno.Xr pmclog 3 , 1008*fabe02f5SSean Bruno.Xr hwpmc 4 1009*fabe02f5SSean Bruno.Sh HISTORY 1010*fabe02f5SSean BrunoThe 1011*fabe02f5SSean Bruno.Nm pmc 1012*fabe02f5SSean Brunolibrary first appeared in 1013*fabe02f5SSean Bruno.Fx 6.0 . 1014*fabe02f5SSean Bruno.Sh AUTHORS 1015*fabe02f5SSean BrunoThe 1016*fabe02f5SSean Bruno.Lb libpmc 1017*fabe02f5SSean Brunolibrary was written by 1018*fabe02f5SSean Bruno.An "Joseph Koshy" 1019*fabe02f5SSean Bruno.Aq jkoshy@FreeBSD.org . 1020*fabe02f5SSean BrunoThe support for the Sandy Bridge Xeon 1021*fabe02f5SSean Brunomicroarchitecture was written by 1022*fabe02f5SSean Bruno.An "Hiren Panchasara" 1023*fabe02f5SSean Bruno.Aq hiren.panchasara@gmail.com . 1024