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