11e862e5aSFabien Thomas.\" Copyright (c) 2012 Fabien Thomas. All rights reserved. 21e862e5aSFabien Thomas.\" 31e862e5aSFabien Thomas.\" Redistribution and use in source and binary forms, with or without 41e862e5aSFabien Thomas.\" modification, are permitted provided that the following conditions 51e862e5aSFabien Thomas.\" are met: 61e862e5aSFabien Thomas.\" 1. Redistributions of source code must retain the above copyright 71e862e5aSFabien Thomas.\" notice, this list of conditions and the following disclaimer. 81e862e5aSFabien Thomas.\" 2. Redistributions in binary form must reproduce the above copyright 91e862e5aSFabien Thomas.\" notice, this list of conditions and the following disclaimer in the 101e862e5aSFabien Thomas.\" documentation and/or other materials provided with the distribution. 111e862e5aSFabien Thomas.\" 121e862e5aSFabien Thomas.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 131e862e5aSFabien Thomas.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 141e862e5aSFabien Thomas.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 151e862e5aSFabien Thomas.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 161e862e5aSFabien Thomas.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 171e862e5aSFabien Thomas.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 181e862e5aSFabien Thomas.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 191e862e5aSFabien Thomas.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 201e862e5aSFabien Thomas.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 211e862e5aSFabien Thomas.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 221e862e5aSFabien Thomas.\" SUCH DAMAGE. 231e862e5aSFabien Thomas.\" 241e862e5aSFabien Thomas.\" $FreeBSD$ 251e862e5aSFabien Thomas.\" 2629f79bb3SSean Bruno.Dd October 19, 2012 271e862e5aSFabien Thomas.Dt PMC.IVYBRIDGE 3 281e862e5aSFabien Thomas.Os 291e862e5aSFabien Thomas.Sh NAME 301e862e5aSFabien Thomas.Nm pmc.ivybridge 311e862e5aSFabien Thomas.Nd measurement events for 321e862e5aSFabien Thomas.Tn Intel 331e862e5aSFabien Thomas.Tn Ivy Bridge 341e862e5aSFabien Thomasfamily CPUs 351e862e5aSFabien Thomas.Sh LIBRARY 361e862e5aSFabien Thomas.Lb libpmc 371e862e5aSFabien Thomas.Sh SYNOPSIS 381e862e5aSFabien Thomas.In pmc.h 391e862e5aSFabien Thomas.Sh DESCRIPTION 401e862e5aSFabien Thomas.Tn Intel 411e862e5aSFabien Thomas.Tn "Ivy Bridge" 421e862e5aSFabien ThomasCPUs contain PMCs conforming to version 2 of the 431e862e5aSFabien Thomas.Tn Intel 441e862e5aSFabien Thomasperformance measurement architecture. 451e862e5aSFabien ThomasThese CPUs may contain up to three classes of PMCs: 461e862e5aSFabien Thomas.Bl -tag -width "Li PMC_CLASS_IAP" 471e862e5aSFabien Thomas.It Li PMC_CLASS_IAF 481e862e5aSFabien ThomasFixed-function counters that count only one hardware event per counter. 491e862e5aSFabien Thomas.It Li PMC_CLASS_IAP 501e862e5aSFabien ThomasProgrammable counters that may be configured to count one of a defined 511e862e5aSFabien Thomasset of hardware events. 521e862e5aSFabien Thomas.El 531e862e5aSFabien Thomas.Pp 541e862e5aSFabien ThomasThe number of PMCs available in each class and their widths need to be 551e862e5aSFabien Thomasdetermined at run time by calling 561e862e5aSFabien Thomas.Xr pmc_cpuinfo 3 . 571e862e5aSFabien Thomas.Pp 581e862e5aSFabien ThomasIntel Ivy Bridge PMCs are documented in 591e862e5aSFabien Thomas.Rs 601e862e5aSFabien Thomas.%B "Intel(R) 64 and IA-32 Architectures Software Developer's Manual" 611e862e5aSFabien Thomas.%T "Volume 3B: System Programming Guide, Part 2" 621e862e5aSFabien Thomas.%N "Order Number: 253669-043US" 631e862e5aSFabien Thomas.%D May 2012 641e862e5aSFabien Thomas.%Q "Intel Corporation" 651e862e5aSFabien Thomas.Re 661e862e5aSFabien Thomas.Ss IVYBRIDGE FIXED FUNCTION PMCS 671e862e5aSFabien ThomasThese PMCs and their supported events are documented in 681e862e5aSFabien Thomas.Xr pmc.iaf 3 . 691e862e5aSFabien Thomas.Ss IVYBRIDGE PROGRAMMABLE PMCS 701e862e5aSFabien ThomasThe programmable PMCs support the following capabilities: 711e862e5aSFabien Thomas.Bl -column "PMC_CAP_INTERRUPT" "Support" 721e862e5aSFabien Thomas.It Em Capability Ta Em Support 731e862e5aSFabien Thomas.It PMC_CAP_CASCADE Ta \&No 741e862e5aSFabien Thomas.It PMC_CAP_EDGE Ta Yes 751e862e5aSFabien Thomas.It PMC_CAP_INTERRUPT Ta Yes 761e862e5aSFabien Thomas.It PMC_CAP_INVERT Ta Yes 771e862e5aSFabien Thomas.It PMC_CAP_READ Ta Yes 781e862e5aSFabien Thomas.It PMC_CAP_PRECISE Ta \&No 791e862e5aSFabien Thomas.It PMC_CAP_SYSTEM Ta Yes 801e862e5aSFabien Thomas.It PMC_CAP_TAGGING Ta \&No 811e862e5aSFabien Thomas.It PMC_CAP_THRESHOLD Ta Yes 821e862e5aSFabien Thomas.It PMC_CAP_USER Ta Yes 831e862e5aSFabien Thomas.It PMC_CAP_WRITE Ta Yes 841e862e5aSFabien Thomas.El 851e862e5aSFabien Thomas.Ss Event Qualifiers 861e862e5aSFabien ThomasEvent specifiers for these PMCs support the following common 871e862e5aSFabien Thomasqualifiers: 881e862e5aSFabien Thomas.Bl -tag -width indent 891e862e5aSFabien Thomas.It Li rsp= Ns Ar value 901e862e5aSFabien ThomasConfigure the Off-core Response bits. 911e862e5aSFabien Thomas.Bl -tag -width indent 921e862e5aSFabien Thomas.It Li REQ_DMND_DATA_RD 931e862e5aSFabien ThomasCounts the number of demand and DCU prefetch data reads of full and partial 941e862e5aSFabien Thomascachelines as well as demand data page table entry cacheline reads. Does not 951e862e5aSFabien Thomascount L2 data read prefetches or instruction fetches. 961e862e5aSFabien Thomas.It Li REQ_DMND_RFO 971e862e5aSFabien ThomasCounts the number of demand and DCU prefetch reads for ownership (RFO) 981e862e5aSFabien Thomasrequests generated by a write to data cacheline. Does not count L2 RFO 991e862e5aSFabien Thomasprefetches. 1001e862e5aSFabien Thomas.It Li REQ_DMND_IFETCH 1011e862e5aSFabien ThomasCounts the number of demand and DCU prefetch instruction cacheline reads. 1021e862e5aSFabien ThomasDoes not count L2 code read prefetches. 1031e862e5aSFabien Thomas.It Li REQ_WB 1041e862e5aSFabien ThomasCounts the number of writeback (modified to exclusive) transactions. 1051e862e5aSFabien Thomas.It Li REQ_PF_DATA_RD 1061e862e5aSFabien ThomasCounts the number of data cacheline reads generated by L2 prefetchers. 1071e862e5aSFabien Thomas.It Li REQ_PF_RFO 1081e862e5aSFabien ThomasCounts the number of RFO requests generated by L2 prefetchers. 1091e862e5aSFabien Thomas.It Li REQ_PF_IFETCH 1101e862e5aSFabien ThomasCounts the number of code reads generated by L2 prefetchers. 1111e862e5aSFabien Thomas.It Li REQ_PF_LLC_DATA_RD 1121e862e5aSFabien ThomasL2 prefetcher to L3 for loads. 1131e862e5aSFabien Thomas.It Li REQ_PF_LLC_RFO 1141e862e5aSFabien ThomasRFO requests generated by L2 prefetcher 1151e862e5aSFabien Thomas.It Li REQ_PF_LLC_IFETCH 1161e862e5aSFabien ThomasL2 prefetcher to L3 for instruction fetches. 1171e862e5aSFabien Thomas.It Li REQ_BUS_LOCKS 1181e862e5aSFabien ThomasBus lock and split lock requests. 1191e862e5aSFabien Thomas.It Li REQ_STRM_ST 1201e862e5aSFabien ThomasStreaming store requests. 1211e862e5aSFabien Thomas.It Li REQ_OTHER 1221e862e5aSFabien ThomasAny other request that crosses IDI, including I/O. 1231e862e5aSFabien Thomas.It Li RES_ANY 1241e862e5aSFabien ThomasCatch all value for any response types. 1251e862e5aSFabien Thomas.It Li RES_SUPPLIER_NO_SUPP 1261e862e5aSFabien ThomasNo Supplier Information available. 1271e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITM 1281e862e5aSFabien ThomasM-state initial lookup stat in L3. 1291e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITE 1301e862e5aSFabien ThomasE-state. 1311e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITS 1321e862e5aSFabien ThomasS-state. 1331e862e5aSFabien Thomas.It Li RES_SUPPLIER_LLC_HITF 1341e862e5aSFabien ThomasF-state. 1351e862e5aSFabien Thomas.It Li RES_SUPPLIER_LOCAL 1361e862e5aSFabien ThomasLocal DRAM Controller. 137*cdfd0cc8SSean Bruno.It Li RES_SNOOP_SNP_NONE 1381e862e5aSFabien ThomasNo details on snoop-related information. 1391e862e5aSFabien Thomas.It Li RES_SNOOP_SNP_NO_NEEDED 1401e862e5aSFabien ThomasNo snoop was needed to satisfy the request. 1411e862e5aSFabien Thomas.It Li RES_SNOOP_SNP_MISS 1421e862e5aSFabien ThomasA snoop was needed and it missed all snooped caches: 1431e862e5aSFabien Thomas-For LLC Hit, ReslHitl was returned by all cores 1441e862e5aSFabien Thomas-For LLC Miss, Rspl was returned by all sockets and data was returned from 1451e862e5aSFabien ThomasDRAM. 1461e862e5aSFabien Thomas.It Li RES_SNOOP_HIT_NO_FWD 1471e862e5aSFabien ThomasA snoop was needed and it hits in at least one snooped cache. Hit denotes a 1481e862e5aSFabien Thomascache-line was valid before snoop effect. This includes: 1491e862e5aSFabien Thomas-Snoop Hit w/ Invalidation (LLC Hit, RFO) 1501e862e5aSFabien Thomas-Snoop Hit, Left Shared (LLC Hit/Miss, IFetch/Data_RD) 1511e862e5aSFabien Thomas-Snoop Hit w/ Invalidation and No Forward (LLC Miss, RFO Hit S) 1521e862e5aSFabien ThomasIn the LLC Miss case, data is returned from DRAM. 1531e862e5aSFabien Thomas.It Li RES_SNOOP_HIT_FWD 1541e862e5aSFabien ThomasA snoop was needed and data was forwarded from a remote socket. 1551e862e5aSFabien ThomasThis includes: 1561e862e5aSFabien Thomas-Snoop Forward Clean, Left Shared (LLC Hit/Miss, IFetch/Data_RD/RFT). 1571e862e5aSFabien Thomas.It Li RES_SNOOP_HITM 1581e862e5aSFabien ThomasA snoop was needed and it HitM-ed in local or remote cache. HitM denotes a 1591e862e5aSFabien Thomascache-line was in modified state before effect as a results of snoop. This 1601e862e5aSFabien Thomasincludes: 1611e862e5aSFabien Thomas-Snoop HitM w/ WB (LLC miss, IFetch/Data_RD) 1621e862e5aSFabien Thomas-Snoop Forward Modified w/ Invalidation (LLC Hit/Miss, RFO) 1631e862e5aSFabien Thomas-Snoop MtoS (LLC Hit, IFetch/Data_RD). 1641e862e5aSFabien Thomas.It Li RES_NON_DRAM 1651e862e5aSFabien ThomasTarget was non-DRAM system address. This includes MMIO transactions. 1661e862e5aSFabien Thomas.El 1671e862e5aSFabien Thomas.It Li cmask= Ns Ar value 1681e862e5aSFabien ThomasConfigure the PMC to increment only if the number of configured 1691e862e5aSFabien Thomasevents measured in a cycle is greater than or equal to 1701e862e5aSFabien Thomas.Ar value . 1711e862e5aSFabien Thomas.It Li edge 1721e862e5aSFabien ThomasConfigure the PMC to count the number of de-asserted to asserted 1731e862e5aSFabien Thomastransitions of the conditions expressed by the other qualifiers. 1741e862e5aSFabien ThomasIf specified, the counter will increment only once whenever a 1751e862e5aSFabien Thomascondition becomes true, irrespective of the number of clocks during 1761e862e5aSFabien Thomaswhich the condition remains true. 1771e862e5aSFabien Thomas.It Li inv 1781e862e5aSFabien ThomasInvert the sense of comparison when the 1791e862e5aSFabien Thomas.Dq Li cmask 1801e862e5aSFabien Thomasqualifier is present, making the counter increment when the number of 1811e862e5aSFabien Thomasevents per cycle is less than the value specified by the 1821e862e5aSFabien Thomas.Dq Li cmask 1831e862e5aSFabien Thomasqualifier. 1841e862e5aSFabien Thomas.It Li os 1851e862e5aSFabien ThomasConfigure the PMC to count events happening at processor privilege 1861e862e5aSFabien Thomaslevel 0. 1871e862e5aSFabien Thomas.It Li usr 1881e862e5aSFabien ThomasConfigure the PMC to count events occurring at privilege levels 1, 2 1891e862e5aSFabien Thomasor 3. 1901e862e5aSFabien Thomas.El 1911e862e5aSFabien Thomas.Pp 1921e862e5aSFabien ThomasIf neither of the 1931e862e5aSFabien Thomas.Dq Li os 1941e862e5aSFabien Thomasor 1951e862e5aSFabien Thomas.Dq Li usr 1961e862e5aSFabien Thomasqualifiers are specified, the default is to enable both. 1971e862e5aSFabien Thomas.Ss Event Specifiers (Programmable PMCs) 1981e862e5aSFabien ThomasIvy Bridge programmable PMCs support the following events: 1991e862e5aSFabien Thomas.Bl -tag -width indent 2001e862e5aSFabien Thomas.It Li LD_BLOCKS.STORE_FORWARD 2011e862e5aSFabien Thomas.Pq Event 03H , Umask 02H 2021e862e5aSFabien Thomasloads blocked by overlapping with store buffer that cannot be forwarded . 2031e862e5aSFabien Thomas.It Li MISALIGN_MEM_REF.LOADS 2041e862e5aSFabien Thomas.Pq Event 05H , Umask 01H 2051e862e5aSFabien ThomasSpeculative cache-line split load uops dispatched to L1D. 2061e862e5aSFabien Thomas.It Li MISALIGN_MEM_REF.STORES 2071e862e5aSFabien Thomas.Pq Event 05H , Umask 02H 2081e862e5aSFabien ThomasSpeculative cache-line split Store- address uops dispatched to L1D. 2091e862e5aSFabien Thomas.It Li LD_BLOCKS_PARTIAL.ADDRESS_ALIAS 2101e862e5aSFabien Thomas.Pq Event 07H , Umask 01H 2111e862e5aSFabien ThomasFalse dependencies in MOB due to partial compare on address. 2121e862e5aSFabien Thomas.It Li DTLB_LOAD_MISSES.DEMAND_LD_MISS_CAUSES_A_WALK 2131e862e5aSFabien Thomas.Pq Event 08H , Umask 81H 2141e862e5aSFabien ThomasMisses in all TLB levels that cause a page walk of any page size from demand loads. 2151e862e5aSFabien Thomas.It Li DTLB_LOAD_MISSES.DEMAND_LD_WALK_COMPLETED 2161e862e5aSFabien Thomas.Pq Event 08H , Umask 82H 2171e862e5aSFabien ThomasMisses in all TLB levels that caused page walk completed of any size by demand loads. 2181e862e5aSFabien Thomas.It Li DTLB_LOAD_MISSES.DEMAND_LD_WALK_DURATION 2191e862e5aSFabien Thomas.Pq Event 08H , Umask 84H 2201e862e5aSFabien ThomasCycle PMH is busy with a walk due to demand loads. 2211e862e5aSFabien Thomas.It Li UOPS_ISSUED.ANY 2221e862e5aSFabien Thomas.Pq Event 0EH , Umask 01H 2231e862e5aSFabien ThomasIncrements each cycle the # of Uops issued by the RAT to RS. 2241e862e5aSFabien ThomasSet Cmask = 1, Inv = 1to count stalled cycles. 2251e862e5aSFabien ThomasSet Cmask = 1, Inv = 1, Any= 1to count stalled cycles of this core. 2261e862e5aSFabien Thomas.It Li UOPS_ISSUED.FLAGS_MERGE 2271e862e5aSFabien Thomas.Pq Event 0EH , Umask 10H 2281e862e5aSFabien ThomasNumber of flags-merge uops allocated. Such uops adds delay. 2291e862e5aSFabien Thomas.It Li UOPS_ISSUED.SLOW_LEA 2301e862e5aSFabien Thomas.Pq Event 0EH , Umask 20H 2311e862e5aSFabien ThomasNumber of slow LEA or similar uops allocated. Such uop has 3 sources (e.g. 2 2321e862e5aSFabien Thomassources + immediate) regardless if as a result of LEA instruction or not. 2331e862e5aSFabien Thomas.It Li UOPS_ISSUED.SINGLE_MUL 2341e862e5aSFabien Thomas.Pq Event 0EH , Umask 40H 2351e862e5aSFabien ThomasNumber of multiply packed/scalar single precision uops allocated. 2361e862e5aSFabien Thomas.It Li ARITH.FPU_DIV_ACTIVE 2371e862e5aSFabien Thomas.Pq Event 14H , Umask 01H 2381e862e5aSFabien ThomasCycles that the divider is active, includes INT and FP. Set 'edge =1, 2391e862e5aSFabien Thomascmask=1' to count the number of divides. 2401e862e5aSFabien Thomas.It Li L2_RQSTS.DEMAND_DATA_RD_HIT 2411e862e5aSFabien Thomas.Pq Event 24H , Umask 01H 2421e862e5aSFabien ThomasDemand Data Read requests that hit L2 cache. 2431e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_DEMAND_DATA_RD 2441e862e5aSFabien Thomas.Pq Event 24H , Umask 03H 2451e862e5aSFabien ThomasCounts any demand and L1 HW prefetch data load requests to L2. 2461e862e5aSFabien Thomas.It Li L2_RQSTS.RFO_HITS 2471e862e5aSFabien Thomas.Pq Event 24H , Umask 04H 2481e862e5aSFabien ThomasCounts the number of store RFO requests that hit the L2 cache. 2491e862e5aSFabien Thomas.It Li L2_RQSTS.RFO_MISS 2501e862e5aSFabien Thomas.Pq Event 24H , Umask 08H 2511e862e5aSFabien ThomasCounts the number of store RFO requests that miss the L2 cache. 2521e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_RFO 2531e862e5aSFabien Thomas.Pq Event 24H , Umask 0CH 2541e862e5aSFabien ThomasCounts all L2 store RFO requests. 2551e862e5aSFabien Thomas.It Li L2_RQSTS.CODE_RD_HIT 2561e862e5aSFabien Thomas.Pq Event 24H , Umask 10H 2571e862e5aSFabien ThomasNumber of instruction fetches that hit the L2 cache. 2581e862e5aSFabien Thomas.It Li L2_RQSTS.CODE_RD_MISS 2591e862e5aSFabien Thomas.Pq Event 24H , Umask 20H 2601e862e5aSFabien ThomasNumber of instruction fetches that missed the L2 cache. 2611e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_CODE_RD 2621e862e5aSFabien Thomas.Pq Event 24H , Umask 30H 2631e862e5aSFabien ThomasCounts all L2 code requests. 2641e862e5aSFabien Thomas.It Li L2_RQSTS.PF_HIT 2651e862e5aSFabien Thomas.Pq Event 24H , Umask 40H 2661e862e5aSFabien ThomasCounts all L2 HW prefetcher requests that hit L2. 2671e862e5aSFabien Thomas.It Li L2_RQSTS.PF_MISS 2681e862e5aSFabien Thomas.Pq Event 24H , Umask 80H 2691e862e5aSFabien ThomasCounts all L2 HW prefetcher requests that missed L2. 2701e862e5aSFabien Thomas.It Li L2_RQSTS.ALL_PF 2711e862e5aSFabien Thomas.Pq Event 24H , Umask C0H 2721e862e5aSFabien ThomasCounts all L2 HW prefetcher requests. 2731e862e5aSFabien Thomas.It Li L2_STORE_LOCK_RQSTS.MISS 2741e862e5aSFabien Thomas.Pq Event 27H , Umask 01H 2751e862e5aSFabien ThomasRFOs that miss cache lines. 2761e862e5aSFabien Thomas.It Li L2_STORE_LOCK_RQSTS.HIT_M 2771e862e5aSFabien Thomas.Pq Event 27H , Umask 08H 2781e862e5aSFabien ThomasRFOs that hit cache lines in M state. 2791e862e5aSFabien Thomas.It Li L2_STORE_LOCK_RQSTS.ALL 2801e862e5aSFabien Thomas.Pq Event 27H , Umask 0FH 2811e862e5aSFabien ThomasRFOs that access cache lines in any state. 2821e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.MISS 2831e862e5aSFabien Thomas.Pq Event 28H , Umask 01H 2841e862e5aSFabien ThomasNot rejected writebacks that missed LLC. 2851e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.HIT_E 2861e862e5aSFabien Thomas.Pq Event 28H , Umask 04H 2871e862e5aSFabien ThomasNot rejected writebacks from L1D to L2 cache lines in E state. 2881e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.HIT_M 2891e862e5aSFabien Thomas.Pq Event 28H , Umask 08H 2901e862e5aSFabien ThomasNot rejected writebacks from L1D to L2 cache lines in M state. 2911e862e5aSFabien Thomas.It Li L2_L1D_WB_RQSTS.ALL 2921e862e5aSFabien Thomas.Pq Event 28H , Umask 0FH 2931e862e5aSFabien ThomasNot rejected writebacks from L1D to L2 cache lines in any state. 2941e862e5aSFabien Thomas.It Li LONGEST_LAT_CACHE.REFERENCE 2951e862e5aSFabien Thomas.Pq Event 2EH , Umask 4FH 2961e862e5aSFabien ThomasThis event counts requests originating from the core that reference a cache 2971e862e5aSFabien Thomasline in the last level cache. 2981e862e5aSFabien Thomas.It Li LONGEST_LAT_CACHE.MISS 2991e862e5aSFabien Thomas.Pq Event 2EH , Umask 41H 3001e862e5aSFabien ThomasThis event counts each cache miss condition for references to the last level 3011e862e5aSFabien Thomascache. 3021e862e5aSFabien Thomas.It Li CPU_CLK_UNHALTED.THREAD_P 3031e862e5aSFabien Thomas.Pq Event 3CH , Umask 00H 3041e862e5aSFabien ThomasCounts the number of thread cycles while the thread is not in a halt state. 3051e862e5aSFabien ThomasThe thread enters the halt state when it is running the HLT instruction. The 3061e862e5aSFabien Thomascore frequency may change from time to time due to power or thermal 3071e862e5aSFabien Thomasthrottling. 3081e862e5aSFabien Thomas.It Li CPU_CLK_THREAD_UNHALTED.REF_XCLK 3091e862e5aSFabien Thomas.Pq Event 3CH , Umask 01H 3101e862e5aSFabien ThomasIncrements at the frequency of XCLK (100 MHz) when not halted. 3111e862e5aSFabien Thomas.It Li L1D_PEND_MISS.PENDING 3121e862e5aSFabien Thomas.Pq Event 48H , Umask 01H 3131e862e5aSFabien ThomasIncrements the number of outstanding L1D misses every cycle. Set Cmaks = 1 3141e862e5aSFabien Thomasand Edge =1 to count occurrences. 3151e862e5aSFabien ThomasCounter 2 only. 3161e862e5aSFabien ThomasSet Cmask = 1 to count cycles. 3171e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.MISS_CAUSES_A_WALK 3181e862e5aSFabien Thomas.Pq Event 49H , Umask 01H 3191e862e5aSFabien ThomasMiss in all TLB levels causes an page walk of any page size (4K/2M/4M/1G). 3201e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.WALK_COMPLETED 3211e862e5aSFabien Thomas.Pq Event 49H , Umask 02H 3221e862e5aSFabien ThomasMiss in all TLB levels causes a page walk that completes of any page size 3231e862e5aSFabien Thomas(4K/2M/4M/1G). 3241e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.WALK_DURATION 3251e862e5aSFabien Thomas.Pq Event 49H , Umask 04H 3261e862e5aSFabien ThomasCycles PMH is busy with this walk. 3271e862e5aSFabien Thomas.It Li DTLB_STORE_MISSES.STLB_HIT 3281e862e5aSFabien Thomas.Pq Event 49H , Umask 10H 3291e862e5aSFabien ThomasStore operations that miss the first TLB level but hit the second and do not 3301e862e5aSFabien Thomascause page walks. 3311e862e5aSFabien Thomas.It Li LOAD_HIT_PRE.SW_PF 3321e862e5aSFabien Thomas.Pq Event 4CH , Umask 01H 3331e862e5aSFabien ThomasNon-SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch. 3341e862e5aSFabien Thomas.It Li LOAD_HIT_PRE.HW_PF 3351e862e5aSFabien Thomas.Pq Event 4CH , Umask 02H 3361e862e5aSFabien ThomasNon-SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch. 3371e862e5aSFabien Thomas.It Li L1D.REPLACEMENT 3381e862e5aSFabien Thomas.Pq Event 51H , Umask 01H 3391e862e5aSFabien ThomasCounts the number of lines brought into the L1 data cache. 3401e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.INT_NOT_ELIMINATED 3411e862e5aSFabien Thomas.Pq Event 58H , Umask 01H 3421e862e5aSFabien ThomasNumber of integer Move Elimination candidate uops that were not eliminated. 3431e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.SIMD_NOT_ELIMINATED 3441e862e5aSFabien Thomas.Pq Event 58H , Umask 02H 3451e862e5aSFabien ThomasNumber of SIMD Move Elimination candidate uops that were not eliminated. 3461e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.INT_ELIMINATED 3471e862e5aSFabien Thomas.Pq Event 58H , Umask 04H 3481e862e5aSFabien ThomasNumber of integer Move Elimination candidate uops that were eliminated. 3491e862e5aSFabien Thomas.It Li MOVE_ELIMINATION.SIMD_ELIMINATED 3501e862e5aSFabien Thomas.Pq Event 58H , Umask 08H 3511e862e5aSFabien ThomasNumber of SIMD Move Elimination candidate uops that were eliminated. 3521e862e5aSFabien Thomas.It Li CPL_CYCLES.RING0 3531e862e5aSFabien Thomas.Pq Event 5CH , Umask 01H 3541e862e5aSFabien ThomasUnhalted core cycles when the thread is in ring 0. 3551e862e5aSFabien ThomasUse Edge to count transition. 3561e862e5aSFabien Thomas.It Li CPL_CYCLES.RING123 3571e862e5aSFabien Thomas.Pq Event 5CH , Umask 02H 3581e862e5aSFabien ThomasUnhalted core cycles when the thread is not in ring 0. 3591e862e5aSFabien Thomas.It Li RS_EVENTS.EMPTY_CYCLES 3601e862e5aSFabien Thomas.Pq Event 5EH , Umask 01H 3611e862e5aSFabien ThomasCycles the RS is empty for the thread. 3621e862e5aSFabien Thomas.It Li TLB_ACCESS.LOAD_STLB_HIT 3631e862e5aSFabien Thomas.Pq Event 5FH , Umask 01H 3641e862e5aSFabien ThomasCounts load operations that missed 1st level DTLB but hit the 2nd level. 3651e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD 3661e862e5aSFabien Thomas.Pq Event 60H , Umask 01H 3671e862e5aSFabien ThomasOffcore outstanding Demand Data Read transactions in SQ to uncore. Set 3681e862e5aSFabien ThomasCmask=1 to count cycles. 3691e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_CODE_RD 3701e862e5aSFabien Thomas.Pq Event 60H , Umask 02H 3711e862e5aSFabien ThomasOffcore outstanding Demand Code Read transactions in SQ to uncore. Set 3721e862e5aSFabien ThomasCmask=1 to count cycles. 3731e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_RFO 3741e862e5aSFabien Thomas.Pq Event 60H , Umask 04H 3751e862e5aSFabien ThomasOffcore outstanding RFO store transactions in SQ to uncore. Set Cmask=1 to 3761e862e5aSFabien Thomascount cycles. 3771e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD 3781e862e5aSFabien Thomas.Pq Event 60H , Umask 08H 3791e862e5aSFabien ThomasOffcore outstanding cacheable data read transactions in SQ to uncore. Set 3801e862e5aSFabien ThomasCmask=1 to count cycles. 3811e862e5aSFabien Thomas.It Li LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION 3821e862e5aSFabien Thomas.Pq Event 63H , Umask 01H 3831e862e5aSFabien ThomasCycles in which the L1D and L2 are locked, due to a UC lock or split lock. 3841e862e5aSFabien Thomas.It Li LOCK_CYCLES.CACHE_LOCK_DURATION 3851e862e5aSFabien Thomas.Pq Event 63H , Umask 02H 3861e862e5aSFabien ThomasCycles in which the L1D is locked. 3871e862e5aSFabien Thomas.It Li IDQ.EMPTY 3881e862e5aSFabien Thomas.Pq Event 79H , Umask 02H 3891e862e5aSFabien ThomasCounts cycles the IDQ is empty. 3901e862e5aSFabien Thomas.It Li IDQ.MITE_UOPS 3911e862e5aSFabien Thomas.Pq Event 79H , Umask 04H 3921e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ from MITE path. 3931e862e5aSFabien ThomasCan combine Umask 04H and 20H. 3941e862e5aSFabien ThomasSet Cmask = 1 to count cycles. 3951e862e5aSFabien Thomas.It Li IDQ.DSB_UOPS 3961e862e5aSFabien Thomas.Pq Event 79H , Umask 08H 3971e862e5aSFabien ThomasIncrement each cycle. # of uops delivered to IDQ from DSB path. 3981e862e5aSFabien ThomasCan combine Umask 08H and 10H 3991e862e5aSFabien ThomasSet Cmask = 1 to count cycles. 4001e862e5aSFabien Thomas.It Li IDQ.MS_DSB_UOPS 4011e862e5aSFabien Thomas.Pq Event 79H , Umask 10H 4021e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ when MS_busy by DSB. Set 4031e862e5aSFabien ThomasCmask = 1 to count cycles. Add Edge=1 to count # of delivery. 4041e862e5aSFabien ThomasCan combine Umask 04H, 08H. 4051e862e5aSFabien Thomas.It Li IDQ.MS_MITE_UOPS 4061e862e5aSFabien Thomas.Pq Event 79H , Umask 20H 4071e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ when MS_busy by MITE. Set 4081e862e5aSFabien ThomasCmask = 1 to count cycles. 4091e862e5aSFabien ThomasCan combine Umask 04H, 08H. 4101e862e5aSFabien Thomas.It Li IDQ.MS_UOPS 4111e862e5aSFabien Thomas.Pq Event 79H , Umask 30H 4121e862e5aSFabien ThomasIncrement each cycle # of uops delivered to IDQ from MS by either DSB or 4131e862e5aSFabien ThomasMITE. Set Cmask = 1 to count cycles. 4141e862e5aSFabien ThomasCan combine Umask 04H, 08H. 4151e862e5aSFabien Thomas.It Li IDQ.ALL_DSB_CYCLES_ANY_UOPS 4161e862e5aSFabien Thomas.Pq Event 79H , Umask 18H 4171e862e5aSFabien ThomasCounts cycles DSB is delivered at least one uops. Set Cmask = 1. 4181e862e5aSFabien Thomas.It Li IDQ.ALL_DSB_CYCLES_4_UOPS 4191e862e5aSFabien Thomas.Pq Event 79H , Umask 18H 4201e862e5aSFabien ThomasCounts cycles DSB is delivered four uops. Set Cmask = 4. 4211e862e5aSFabien Thomas.It Li IDQ.ALL_MITE_CYCLES_ANY_UOPS 4221e862e5aSFabien Thomas.Pq Event 79H , Umask 24H 4231e862e5aSFabien ThomasCounts cycles MITE is delivered at least one uops. Set Cmask = 1. 4241e862e5aSFabien Thomas.It Li IDQ.ALL_MITE_CYCLES_4_UOPS 4251e862e5aSFabien Thomas.Pq Event 79H , Umask 24H 4261e862e5aSFabien ThomasCounts cycles MITE is delivered four uops. Set Cmask = 4. 4271e862e5aSFabien Thomas.It Li IDQ.MITE_ALL_UOPS 4281e862e5aSFabien Thomas.Pq Event 79H , Umask 3CH 4291e862e5aSFabien Thomas# of uops delivered to IDQ from any path. 4301e862e5aSFabien Thomas.It Li ICACHE.MISSES 4311e862e5aSFabien Thomas.Pq Event 80H , Umask 02H 4321e862e5aSFabien ThomasNumber of Instruction Cache, Streaming Buffer and Victim Cache Misses. 4331e862e5aSFabien ThomasIncludes UC accesses. 4341e862e5aSFabien Thomas.It Li ITLB_MISSES.MISS_CAUSES_A_WALK 4351e862e5aSFabien Thomas.Pq Event 85H , Umask 01H 4361e862e5aSFabien ThomasMisses in all ITLB levels that cause page walks. 4371e862e5aSFabien Thomas.It Li ITLB_MISSES.WALK_COMPLETED 4381e862e5aSFabien Thomas.Pq Event 85H , Umask 02H 4391e862e5aSFabien ThomasMisses in all ITLB levels that cause completed page walks. 4401e862e5aSFabien Thomas.It Li ITLB_MISSES.WALK_DURATION 4411e862e5aSFabien Thomas.Pq Event 85H , Umask 04H 4421e862e5aSFabien ThomasCycle PMH is busy with a walk. 4431e862e5aSFabien Thomas.It Li ITLB_MISSES.STLB_HIT 4441e862e5aSFabien Thomas.Pq Event 85H , Umask 10H 4451e862e5aSFabien ThomasNumber of cache load STLB hits. No page walk. 4461e862e5aSFabien Thomas.It Li ILD_STALL.LCP 4471e862e5aSFabien Thomas.Pq Event 87H , Umask 01H 4481e862e5aSFabien ThomasStalls caused by changing prefix length of the instruction. 4491e862e5aSFabien Thomas.It Li ILD_STALL.IQ_FULL 4501e862e5aSFabien Thomas.Pq Event 87H , Umask 04H 4511e862e5aSFabien ThomasStall cycles due to IQ is full. 4521e862e5aSFabien Thomas.It Li BR_INST_EXEC.COND 4531e862e5aSFabien Thomas.Pq Event 88H , Umask 01H 4541e862e5aSFabien ThomasQualify conditional near branch instructions executed, but not necessarily 4551e862e5aSFabien Thomasretired. 4561e862e5aSFabien ThomasMust combine with umask 40H, 80H. 4571e862e5aSFabien Thomas.It Li BR_INST_EXEC.DIRECT_JMP 4581e862e5aSFabien Thomas.Pq Event 88H , Umask 02H 4591e862e5aSFabien ThomasQualify all unconditional near branch instructions excluding calls and 4601e862e5aSFabien Thomasindirect branches. 4611e862e5aSFabien ThomasMust combine with umask 80H. 4621e862e5aSFabien Thomas.It Li BR_INST_EXEC.INDIRECT_JMP_NON_CALL_RET 4631e862e5aSFabien Thomas.Pq Event 88H , Umask 04H 4641e862e5aSFabien ThomasQualify executed indirect near branch instructions that are not calls nor 4651e862e5aSFabien Thomasreturns. 4661e862e5aSFabien ThomasMust combine with umask 80H. 4671e862e5aSFabien Thomas.It Li BR_INST_EXEC.RETURN_NEAR 4681e862e5aSFabien Thomas.Pq Event 88H , Umask 08H 4691e862e5aSFabien ThomasQualify indirect near branches that have a return mnemonic. 4701e862e5aSFabien ThomasMust combine with umask 80H. 4711e862e5aSFabien Thomas.It Li BR_INST_EXEC.DIRECT_NEAR_CALL 4721e862e5aSFabien Thomas.Pq Event 88H , Umask 10H 4731e862e5aSFabien ThomasQualify unconditional near call branch instructions, excluding non call 4741e862e5aSFabien Thomasbranch, executed. 4751e862e5aSFabien ThomasMust combine with umask 80H. 4761e862e5aSFabien Thomas.It Li BR_INST_EXEC.INDIRECT_NEAR_CALL 4771e862e5aSFabien Thomas.Pq Event 88H , Umask 20H 4781e862e5aSFabien ThomasQualify indirect near calls, including both register and memory indirect, 4791e862e5aSFabien Thomasexecuted. 4801e862e5aSFabien ThomasMust combine with umask 80H. 4811e862e5aSFabien Thomas.It Li BR_INST_EXEC.NONTAKEN 4821e862e5aSFabien Thomas.Pq Event 88H , Umask 40H 4831e862e5aSFabien ThomasQualify non-taken near branches executed. 4841e862e5aSFabien ThomasApplicable to umask 01H only. 4851e862e5aSFabien Thomas.It Li BR_INST_EXEC.TAKEN 4861e862e5aSFabien Thomas.Pq Event 88H , Umask 80H 4871e862e5aSFabien ThomasQualify taken near branches executed. Must combine with 01H,02H, 04H, 08H, 4881e862e5aSFabien Thomas10H, 20H. 4891e862e5aSFabien Thomas.It Li BR_INST_EXEC.ALL_BRANCHES 4901e862e5aSFabien Thomas.Pq Event 88H , Umask FFH 4911e862e5aSFabien ThomasCounts all near executed branches (not necessarily retired). 4921e862e5aSFabien Thomas.It Li BR_MISP_EXEC.COND 4931e862e5aSFabien Thomas.Pq Event 89H , Umask 01H 4941e862e5aSFabien ThomasQualify conditional near branch instructions mispredicted. 4951e862e5aSFabien ThomasMust combine with umask 40H, 80H. 4961e862e5aSFabien Thomas.It Li BR_MISP_EXEC.INDIRECT_JMP_NON_CALL_RET 4971e862e5aSFabien Thomas.Pq Event 89H , Umask 04H 4981e862e5aSFabien ThomasQualify mispredicted indirect near branch instructions that are not calls 4991e862e5aSFabien Thomasnor returns. 5001e862e5aSFabien ThomasMust combine with umask 80H. 5011e862e5aSFabien Thomas.It Li BR_MISP_EXEC.RETURN_NEAR 5021e862e5aSFabien Thomas.Pq Event 89H , Umask 08H 5031e862e5aSFabien ThomasQualify mispredicted indirect near branches that have a return mnemonic. 5041e862e5aSFabien ThomasMust combine with umask 80H. 5051e862e5aSFabien Thomas.It Li BR_MISP_EXEC.DIRECT_NEAR_CALL 5061e862e5aSFabien Thomas.Pq Event 89H , Umask 10H 5071e862e5aSFabien ThomasQualify mispredicted unconditional near call branch instructions, excluding 5081e862e5aSFabien Thomasnon call branch, executed. 5091e862e5aSFabien ThomasMust combine with umask 80H. 5101e862e5aSFabien Thomas.It Li BR_MISP_EXEC.INDIRECT_NEAR_CALL 5111e862e5aSFabien Thomas.Pq Event 89H , Umask 20H 5121e862e5aSFabien ThomasQualify mispredicted indirect near calls, including both register and memory 5131e862e5aSFabien Thomasindirect, executed. 5141e862e5aSFabien ThomasMust combine with umask 80H. 5151e862e5aSFabien Thomas.It Li BR_MISP_EXEC.NONTAKEN 5161e862e5aSFabien Thomas.Pq Event 89H , Umask 40H 5171e862e5aSFabien ThomasQualify mispredicted non-taken near branches executed. 5181e862e5aSFabien ThomasApplicable to umask 01H only. 5191e862e5aSFabien Thomas.It Li BR_MISP_EXEC.TAKEN 5201e862e5aSFabien Thomas.Pq Event 89H , Umask 80H 5211e862e5aSFabien ThomasQualify mispredicted taken near branches executed. Must combine with 5221e862e5aSFabien Thomas01H,02H, 04H, 08H, 10H, 20H. 5231e862e5aSFabien Thomas.It Li BR_MISP_EXEC.ALL_BRANCHES 5241e862e5aSFabien Thomas.Pq Event 89H , Umask FFH 5251e862e5aSFabien ThomasCounts all near executed branches (not necessarily retired). 5261e862e5aSFabien Thomas.It Li IDQ_UOPS_NOT_DELIVERED.CORE 5271e862e5aSFabien Thomas.Pq Event 9CH , Umask 01H 5281e862e5aSFabien ThomasCount number of non-delivered uops to RAT per thread. 5291e862e5aSFabien ThomasUse Cmask to qualify uop b/w. 5301e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_0 5311e862e5aSFabien Thomas.Pq Event A1H , Umask 01H 5321e862e5aSFabien ThomasCycles which a Uop is dispatched on port 0. 5331e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_1 5341e862e5aSFabien Thomas.Pq Event A1H , Umask 02H 5351e862e5aSFabien ThomasCycles which a Uop is dispatched on port 1. 5361e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2_LD 5371e862e5aSFabien Thomas.Pq Event A1H , Umask 04H 5381e862e5aSFabien ThomasCycles which a load uop is dispatched on port 2. 5391e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2_STA 5401e862e5aSFabien Thomas.Pq Event A1H , Umask 08H 5411e862e5aSFabien ThomasCycles which a store address uop is dispatched on port 2. 5421e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2 5431e862e5aSFabien Thomas.Pq Event A1H , Umask 0CH 5441e862e5aSFabien ThomasCycles which a Uop is dispatched on port 2. 5451e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3_LD 5461e862e5aSFabien Thomas.Pq Event A1H , Umask 10H 5471e862e5aSFabien ThomasCycles which a load uop is dispatched on port 3. 5481e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3_STA 5491e862e5aSFabien Thomas.Pq Event A1H , Umask 20H 5501e862e5aSFabien ThomasCycles which a store address uop is dispatched on port 3. 5511e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3 5521e862e5aSFabien Thomas.Pq Event A1H , Umask 30H 5531e862e5aSFabien ThomasCycles which a Uop is dispatched on port 3. 5541e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_4 5551e862e5aSFabien Thomas.Pq Event A1H , Umask 40H 5561e862e5aSFabien ThomasCycles which a Uop is dispatched on port 4. 5571e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_5 5581e862e5aSFabien Thomas.Pq Event A1H , Umask 80H 5591e862e5aSFabien ThomasCycles which a Uop is dispatched on port 5. 5601e862e5aSFabien Thomas.It Li RESOURCE_STALLS.ANY 5611e862e5aSFabien Thomas.Pq Event A2H , Umask 01H 5621e862e5aSFabien ThomasCycles Allocation is stalled due to Resource Related reason. 5631e862e5aSFabien Thomas.It Li RESOURCE_STALLS.RS 5641e862e5aSFabien Thomas.Pq Event A2H , Umask 04H 5651e862e5aSFabien ThomasCycles stalled due to no eligible RS entry available. 5661e862e5aSFabien Thomas.It Li RESOURCE_STALLS.SB 5671e862e5aSFabien Thomas.Pq Event A2H , Umask 08H 5681e862e5aSFabien ThomasCycles stalled due to no store buffers available. (not including draining 5691e862e5aSFabien Thomasform sync). 5701e862e5aSFabien Thomas.It Li RESOURCE_STALLS.ROB 5711e862e5aSFabien Thomas.Pq Event A2H , Umask 10H 5721e862e5aSFabien ThomasCycles stalled due to re-order buffer full. 5731e862e5aSFabien Thomas.It Li DSB2MITE_SWITCHES.COUNT 5741e862e5aSFabien Thomas.Pq Event ABH , Umask 01H 5751e862e5aSFabien ThomasNumber of DSB to MITE switches. 5761e862e5aSFabien Thomas.It Li DSB2MITE_SWITCHES.PENALTY_CYCLES 5771e862e5aSFabien Thomas.Pq Event ABH , Umask 02H 5781e862e5aSFabien ThomasCycles DSB to MITE switches caused delay. 5791e862e5aSFabien Thomas.It Li DSB_FILL.EXCEED_DSB_LINES 5801e862e5aSFabien Thomas.Pq Event ACH , Umask 08H 5811e862e5aSFabien ThomasDSB Fill encountered > 3 DSB lines. 5821e862e5aSFabien Thomas.It Li ITLB.ITLB_FLUSH 5831e862e5aSFabien Thomas.Pq Event AEH , Umask 01H 5841e862e5aSFabien ThomasCounts the number of ITLB flushes, includes 4k/2M/4M pages. 5851e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_DATA_RD 5861e862e5aSFabien Thomas.Pq Event B0H , Umask 01H 5871e862e5aSFabien ThomasDemand data read requests sent to uncore. 5881e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_CODE_RD 5891e862e5aSFabien Thomas.Pq Event B0H , Umask 02H 5901e862e5aSFabien ThomasDemand code read requests sent to uncore. 5911e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_RFO 5921e862e5aSFabien Thomas.Pq Event B0H , Umask 04H 5931e862e5aSFabien ThomasDemand RFO read requests sent to uncore, including regular RFOs, locks, 5941e862e5aSFabien ThomasItoM. 5951e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.ALL_DATA_RD 5961e862e5aSFabien Thomas.Pq Event B0H , Umask 08H 5971e862e5aSFabien ThomasData read requests sent to uncore (demand and prefetch). 5981e862e5aSFabien Thomas.It Li UOPS_EXECUTED.THREAD 5991e862e5aSFabien Thomas.Pq Event B1H , Umask 01H 6001e862e5aSFabien ThomasCounts total number of uops to be executed per-thread each cycle. Set Cmask 6011e862e5aSFabien Thomas= 1, INV =1 to count stall cycles. 6021e862e5aSFabien Thomas.It Li UOPS_EXECUTED.CORE 6031e862e5aSFabien Thomas.Pq Event B1H , Umask 02H 6041e862e5aSFabien ThomasCounts total number of uops to be executed per-core each cycle. 6051e862e5aSFabien ThomasDo not need to set ANY. 6061e862e5aSFabien Thomas.It Li OFF_CORE_RESPONSE_0 6071e862e5aSFabien Thomas.Pq Event B7H , Umask 01H 6081e862e5aSFabien ThomasOff-core Response Performance Monitoring. 6091e862e5aSFabien ThomasPMC0 only. 6101e862e5aSFabien ThomasRequires programming MSR 01A6H. 6111e862e5aSFabien Thomas.It Li OFF_CORE_RESPONSE_1 6121e862e5aSFabien Thomas.Pq Event BBH , Umask 01H 6131e862e5aSFabien ThomasOff-core Response Performance Monitoring. 6141e862e5aSFabien ThomasPMC3 only. 6151e862e5aSFabien ThomasRequires programming MSR 01A7H. 6161e862e5aSFabien Thomas.It Li TLB_FLUSH.DTLB_THREAD 6171e862e5aSFabien Thomas.Pq Event BDH , Umask 01H 6181e862e5aSFabien ThomasDTLB flush attempts of the thread- specific entries. 6191e862e5aSFabien Thomas.It Li TLB_FLUSH.STLB_ANY 6201e862e5aSFabien Thomas.Pq Event BDH , Umask 20H 6211e862e5aSFabien ThomasCount number of STLB flush attempts. 6221e862e5aSFabien Thomas.It Li INST_RETIRED.ANY_P 6231e862e5aSFabien Thomas.Pq Event C0H , Umask 00H 6241e862e5aSFabien ThomasNumber of instructions at retirement. 6251e862e5aSFabien Thomas.It Li INST_RETIRED.ALL 6261e862e5aSFabien Thomas.Pq Event C0H , Umask 01H 6271e862e5aSFabien ThomasPrecise instruction retired event with HW to reduce effect of PEBS shadow in 6281e862e5aSFabien ThomasIP distribution. 6291e862e5aSFabien ThomasPMC1 only. 6301e862e5aSFabien ThomasMust quiesce other PMCs. 6311e862e5aSFabien Thomas.It Li OTHER_ASSISTS.AVX_STORE 6321e862e5aSFabien Thomas.Pq Event C1H , Umask 08H 6331e862e5aSFabien ThomasNumber of assists associated with 256-bit AVX store operations. 6341e862e5aSFabien Thomas.It Li OTHER_ASSISTS.AVX_TO_SSE 6351e862e5aSFabien Thomas.Pq Event C1H , Umask 10H 6361e862e5aSFabien ThomasNumber of transitions from AVX- 256 to legacy SSE when penalty applicable. 6371e862e5aSFabien Thomas.It Li OTHER_ASSISTS.SSE_TO_AVX 6381e862e5aSFabien Thomas.Pq Event C1H , Umask 20H 6391e862e5aSFabien ThomasNumber of transitions from SSE to AVX-256 when penalty applicable. 6401e862e5aSFabien Thomas.It Li UOPS_RETIRED.ALL 6411e862e5aSFabien Thomas.Pq Event C2H , Umask 01H 6421e862e5aSFabien ThomasCounts the number of micro-ops retired, Use cmask=1 and invert to count 6431e862e5aSFabien Thomasactive cycles or stalled cycles. 6441e862e5aSFabien ThomasSupports PEBS, use Any=1 for core granular. 6451e862e5aSFabien Thomas.It Li UOPS_RETIRED.RETIRE_SLOTS 6461e862e5aSFabien Thomas.Pq Event C2H , Umask 02H 6471e862e5aSFabien ThomasCounts the number of retirement slots used each cycle. 6481e862e5aSFabien Thomas.It Li MACHINE_CLEARS.MEMORY_ORDERING 6491e862e5aSFabien Thomas.Pq Event C3H , Umask 02H 6501e862e5aSFabien ThomasCounts the number of machine clears due to memory order conflicts. 6511e862e5aSFabien Thomas.It Li MACHINE_CLEARS.SMC 6521e862e5aSFabien Thomas.Pq Event C3H , Umask 04H 6531e862e5aSFabien ThomasNumber of self-modifying-code machine clears detected. 6541e862e5aSFabien Thomas.It Li MACHINE_CLEARS.MASKMOV 6551e862e5aSFabien Thomas.Pq Event C3H , Umask 20H 6561e862e5aSFabien ThomasCounts the number of executed AVX masked load operations that refer to an 6571e862e5aSFabien Thomasillegal address range with the mask bits set to 0. 6581e862e5aSFabien Thomas.It Li BR_INST_RETIRED.ALL_BRANCHES 6591e862e5aSFabien Thomas.Pq Event C4H , Umask 00H 6601e862e5aSFabien ThomasBranch instructions at retirement. 6611e862e5aSFabien Thomas.It Li BR_INST_RETIRED.CONDITIONAL 6621e862e5aSFabien Thomas.Pq Event C4H , Umask 01H 6631e862e5aSFabien ThomasCounts the number of conditional branch instructions retired. 6641e862e5aSFabien ThomasSupports PEBS. 6651e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_CALL 6661e862e5aSFabien Thomas.Pq Event C4H , Umask 02H 6671e862e5aSFabien ThomasDirect and indirect near call instructions retired. 6681e862e5aSFabien Thomas.It Li BR_INST_RETIRED.ALL_BRANCHES 6691e862e5aSFabien Thomas.Pq Event C4H , Umask 04H 6701e862e5aSFabien ThomasCounts the number of branch instructions retired. 6711e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_RETURN 6721e862e5aSFabien Thomas.Pq Event C4H , Umask 08H 6731e862e5aSFabien ThomasCounts the number of near return instructions retired. 6741e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NOT_TAKEN 6751e862e5aSFabien Thomas.Pq Event C4H , Umask 10H 6761e862e5aSFabien ThomasCounts the number of not taken branch instructions retired. 6771e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_TAKEN 6781e862e5aSFabien Thomas.Pq Event C4H , Umask 20H 6791e862e5aSFabien ThomasNumber of near taken branches retired. 6801e862e5aSFabien Thomas.It Li BR_INST_RETIRED.FAR_BRANCH 6811e862e5aSFabien Thomas.Pq Event C4H , Umask 40H 6821e862e5aSFabien ThomasNumber of far branches retired. 6831e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.ALL_BRANCHES 6841e862e5aSFabien Thomas.Pq Event C5H , Umask 00H 6851e862e5aSFabien ThomasMispredicted branch instructions at retirement. 6861e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.CONDITIONAL 6871e862e5aSFabien Thomas.Pq Event C5H , Umask 01H 6881e862e5aSFabien ThomasMispredicted conditional branch instructions retired. 6891e862e5aSFabien ThomasSupports PEBS. 6901e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.NEAR_CALL 6911e862e5aSFabien Thomas.Pq Event C5H , Umask 02H 6921e862e5aSFabien ThomasDirect and indirect mispredicted near call instructions retired. 6931e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.ALL_BRANCHES 6941e862e5aSFabien Thomas.Pq Event C5H , Umask 04H 6951e862e5aSFabien ThomasMispredicted macro branch instructions retired. 6961e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.NOT_TAKEN 6971e862e5aSFabien Thomas.Pq Event C5H , Umask 10H 6981e862e5aSFabien ThomasMispredicted not taken branch instructions retired. 6991e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.TAKEN 7001e862e5aSFabien Thomas.Pq Event C5H , Umask 20H 7011e862e5aSFabien ThomasMispredicted taken branch instructions retired. 7021e862e5aSFabien Thomas.It Li FP_ASSIST.X87_OUTPUT 7031e862e5aSFabien Thomas.Pq Event CAH , Umask 02H 7041e862e5aSFabien ThomasNumber of X87 FP assists due to Output values. 7051e862e5aSFabien Thomas.It Li FP_ASSIST.X87_INPUT 7061e862e5aSFabien Thomas.Pq Event CAH , Umask 04H 7071e862e5aSFabien ThomasNumber of X87 FP assists due to input values. 7081e862e5aSFabien Thomas.It Li FP_ASSIST.SIMD_OUTPUT 7091e862e5aSFabien Thomas.Pq Event CAH , Umask 08H 7101e862e5aSFabien ThomasNumber of SIMD FP assists due to Output values. 7111e862e5aSFabien Thomas.It Li FP_ASSIST.SIMD_INPUT 7121e862e5aSFabien Thomas.Pq Event CAH , Umask 10H 7131e862e5aSFabien ThomasNumber of SIMD FP assists due to input values. 7141e862e5aSFabien Thomas.It Li FP_ASSIST.ANY 7151e862e5aSFabien Thomas.Pq Event CAH , Umask 1EH 7161e862e5aSFabien ThomasCycles with any input/output SSE* or FP assists. 7171e862e5aSFabien Thomas.It Li ROB_MISC_EVENTS.LBR_INSERTS 7181e862e5aSFabien Thomas.Pq Event CCH , Umask 20H 7191e862e5aSFabien ThomasCount cases of saving new LBR records by hardware. 7201e862e5aSFabien Thomas.It Li MEM_TRANS_RETIRED.LOAD_LATENCY 7211e862e5aSFabien Thomas.Pq Event CDH , Umask 01H 7221e862e5aSFabien ThomasSample loads with specified latency threshold. 7231e862e5aSFabien ThomasPMC3 only. 7241e862e5aSFabien ThomasSpecify threshold in MSR 0x3F6. 7251e862e5aSFabien Thomas.It Li MEM_TRANS_RETIRED.PRECISE_STORE 7261e862e5aSFabien Thomas.Pq Event CDH , Umask 02H 7271e862e5aSFabien ThomasSample stores and collect precise store operation via PEBS record. 7281e862e5aSFabien ThomasPMC3 only. 7291e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.LOADS 7301e862e5aSFabien Thomas.Pq Event D0H , Umask 01H 7311e862e5aSFabien ThomasQualify retired memory uops that are loads. Combine with umask 10H, 20H, 7321e862e5aSFabien Thomas40H, 80H. 7331e862e5aSFabien ThomasSupports PEBS. 7341e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.STORES 7351e862e5aSFabien Thomas.Pq Event D0H , Umask 02H 7361e862e5aSFabien ThomasQualify retired memory uops that are stores. Combine with umask 10H, 20H, 7371e862e5aSFabien Thomas40H, 80H. 7381e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.STLB_MISS 7391e862e5aSFabien Thomas.Pq Event D0H , Umask 10H 7401e862e5aSFabien ThomasQualify retired memory uops with STLB miss. Must combine with umask 01H, 7411e862e5aSFabien Thomas02H, to produce counts. 7421e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.LOCK 7431e862e5aSFabien Thomas.Pq Event D0H , Umask 20H 7441e862e5aSFabien ThomasQualify retired memory uops with lock. Must combine with umask 01H, 02H, to 7451e862e5aSFabien Thomasproduce counts. 7461e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.SPLIT 7471e862e5aSFabien Thomas.Pq Event D0H , Umask 40H 7481e862e5aSFabien ThomasQualify retired memory uops with line split. Must combine with umask 01H, 7491e862e5aSFabien Thomas02H, to produce counts. 7501e862e5aSFabien Thomas.It Li MEM_UOP_RETIRED.ALL 7511e862e5aSFabien Thomas.Pq Event D0H , Umask 80H 7521e862e5aSFabien ThomasQualify any retired memory uops. Must combine with umask 01H, 02H, to 7531e862e5aSFabien Thomasproduce counts. 7541e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.L1_HIT 7551e862e5aSFabien Thomas.Pq Event D1H , Umask 01H 7561e862e5aSFabien ThomasRetired load uops with L1 cache hits as data sources. 7571e862e5aSFabien ThomasSupports PEBS. 7581e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.L2_HIT 7591e862e5aSFabien Thomas.Pq Event D1H , Umask 02H 7601e862e5aSFabien ThomasRetired load uops with L2 cache hits as data sources. 7611e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.LLC_HIT 7621e862e5aSFabien Thomas.Pq Event D1H , Umask 04H 7631e862e5aSFabien ThomasRetired load uops with LLC cache hits as data sources. 7641e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.HIT_LFB 7651e862e5aSFabien Thomas.Pq Event D1H , Umask 40H 7661e862e5aSFabien ThomasRetired load uops which data sources were load uops missed L1 but hit FB due 7671e862e5aSFabien Thomasto preceding miss to the same cache line with data not ready. 7681e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_MISS 7691e862e5aSFabien Thomas.Pq Event D2H , Umask 01H 7701e862e5aSFabien ThomasRetired load uops which data sources were LLC hit and cross-core snoop 7711e862e5aSFabien Thomasmissed in on-pkg core cache. 7721e862e5aSFabien ThomasSupports PEBS. 7731e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT 7741e862e5aSFabien Thomas.Pq Event D2H , Umask 02H 7751e862e5aSFabien ThomasRetired load uops which data sources were LLC and cross-core snoop hits in 7761e862e5aSFabien Thomason-pkg core cache. 7771e862e5aSFabien ThomasSupports PEBS. 7781e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM 7791e862e5aSFabien Thomas.Pq Event D2H , Umask 04H 7801e862e5aSFabien ThomasRetired load uops which data sources were HitM responses from shared LLC. 7811e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_NONE 7821e862e5aSFabien Thomas.Pq Event D2H , Umask 08H 7831e862e5aSFabien ThomasRetired load uops which data sources were hits in LLC without snoops 7841e862e5aSFabien Thomasrequired. 7851e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_MISS_RETIRED.LOCAL_DRAM 7861e862e5aSFabien Thomas.Pq Event D3H , Umask 01H 7871e862e5aSFabien ThomasRetired load uops which data sources missed LLC but serviced from local 7881e862e5aSFabien Thomasdram. 7891e862e5aSFabien ThomasSupports PEBS. 7901e862e5aSFabien Thomas.It Li L2_TRANS.DEMAND_DATA_RD 7911e862e5aSFabien Thomas.Pq Event F0H , Umask 01H 7921e862e5aSFabien ThomasDemand Data Read requests that access L2 cache. 7931e862e5aSFabien Thomas.It Li L2_TRANS.RFO 7941e862e5aSFabien Thomas.Pq Event F0H , Umask 02H 7951e862e5aSFabien ThomasRFO requests that access L2 cache. 7961e862e5aSFabien Thomas.It Li L2_TRANS.CODE_RD 7971e862e5aSFabien Thomas.Pq Event F0H , Umask 04H 7981e862e5aSFabien ThomasL2 cache accesses when fetching instructions. 7991e862e5aSFabien Thomas.It Li L2_TRANS.ALL_PF 8001e862e5aSFabien Thomas.Pq Event F0H , Umask 08H 8011e862e5aSFabien ThomasAny MLC or LLC HW prefetch accessing L2, including rejects. 8021e862e5aSFabien Thomas.It Li L2_TRANS.L1D_WB 8031e862e5aSFabien Thomas.Pq Event F0H , Umask 10H 8041e862e5aSFabien ThomasL1D writebacks that access L2 cache. 8051e862e5aSFabien Thomas.It Li L2_TRANS.L2_FILL 8061e862e5aSFabien Thomas.Pq Event F0H , Umask 20H 8071e862e5aSFabien ThomasL2 fill requests that access L2 cache. 8081e862e5aSFabien Thomas.It Li L2_TRANS.L2_WB 8091e862e5aSFabien Thomas.Pq Event F0H , Umask 40H 8101e862e5aSFabien ThomasL2 writebacks that access L2 cache. 8111e862e5aSFabien Thomas.It Li L2_TRANS.ALL_REQUESTS 8121e862e5aSFabien Thomas.Pq Event F0H , Umask 80H 8131e862e5aSFabien ThomasTransactions accessing L2 pipe. 8141e862e5aSFabien Thomas.It Li L2_LINES_IN.I 8151e862e5aSFabien Thomas.Pq Event F1H , Umask 01H 8161e862e5aSFabien ThomasL2 cache lines in I state filling L2. 8171e862e5aSFabien ThomasCounting does not cover rejects. 8181e862e5aSFabien Thomas.It Li L2_LINES_IN.S 8191e862e5aSFabien Thomas.Pq Event F1H , Umask 02H 8201e862e5aSFabien ThomasL2 cache lines in S state filling L2. 8211e862e5aSFabien ThomasCounting does not cover rejects. 8221e862e5aSFabien Thomas.It Li L2_LINES_IN.E 8231e862e5aSFabien Thomas.Pq Event F1H , Umask 04H 8241e862e5aSFabien ThomasL2 cache lines in E state filling L2. 8251e862e5aSFabien ThomasCounting does not cover rejects. 8261e862e5aSFabien Thomas.It Li L2_LINES_IN.ALL 8271e862e5aSFabien Thomas.Pq Event F1H , Umask 07H 8281e862e5aSFabien ThomasL2 cache lines filling L2. 8291e862e5aSFabien ThomasCounting does not cover rejects. 8301e862e5aSFabien Thomas.It Li L2_LINES_OUT.DEMAND_CLEAN 8311e862e5aSFabien Thomas.Pq Event F2H , Umask 01H 8321e862e5aSFabien ThomasClean L2 cache lines evicted by demand. 8331e862e5aSFabien Thomas.It Li L2_LINES_OUT.DEMAND_DIRTY 8341e862e5aSFabien Thomas.Pq Event F2H , Umask 02H 8351e862e5aSFabien ThomasDirty L2 cache lines evicted by demand. 8361e862e5aSFabien Thomas.It Li L2_LINES_OUT.PF_CLEAN 8371e862e5aSFabien Thomas.Pq Event F2H , Umask 04H 8381e862e5aSFabien ThomasClean L2 cache lines evicted by the MLC prefetcher. 8391e862e5aSFabien Thomas.It Li L2_LINES_OUT.PF_DIRTY 8401e862e5aSFabien Thomas.Pq Event F2H , Umask 08H 8411e862e5aSFabien ThomasDirty L2 cache lines evicted by the MLC prefetcher. 8421e862e5aSFabien Thomas.El 8431e862e5aSFabien Thomas.Sh SEE ALSO 8441e862e5aSFabien Thomas.Xr pmc 3 , 8451e862e5aSFabien Thomas.Xr pmc.atom 3 , 8461e862e5aSFabien Thomas.Xr pmc.core 3 , 8471e862e5aSFabien Thomas.Xr pmc.iaf 3 , 8481e862e5aSFabien Thomas.Xr pmc.ucf 3 , 8491e862e5aSFabien Thomas.Xr pmc.k7 3 , 8501e862e5aSFabien Thomas.Xr pmc.k8 3 , 8511e862e5aSFabien Thomas.Xr pmc.p4 3 , 8521e862e5aSFabien Thomas.Xr pmc.p5 3 , 8531e862e5aSFabien Thomas.Xr pmc.p6 3 , 8541e862e5aSFabien Thomas.Xr pmc.corei7 3 , 8551e862e5aSFabien Thomas.Xr pmc.corei7uc 3 , 8561e862e5aSFabien Thomas.Xr pmc.sandybridge 3 , 8571e862e5aSFabien Thomas.Xr pmc.sandybridgeuc 3 , 85829f79bb3SSean Bruno.Xr pmc.sandybridgexeon 3 , 8591e862e5aSFabien Thomas.Xr pmc.westmere 3 , 8601e862e5aSFabien Thomas.Xr pmc.westmereuc 3 , 8611e862e5aSFabien Thomas.Xr pmc.soft 3 , 8621e862e5aSFabien Thomas.Xr pmc.tsc 3 , 8631e862e5aSFabien Thomas.Xr pmc_cpuinfo 3 , 8641e862e5aSFabien Thomas.Xr pmclog 3 , 8651e862e5aSFabien Thomas.Xr hwpmc 4 8661e862e5aSFabien Thomas.Sh HISTORY 8671e862e5aSFabien ThomasThe 8681e862e5aSFabien Thomas.Nm pmc 8691e862e5aSFabien Thomaslibrary first appeared in 8701e862e5aSFabien Thomas.Fx 6.0 . 8711e862e5aSFabien Thomas.Sh AUTHORS 8721e862e5aSFabien ThomasThe 8731e862e5aSFabien Thomas.Lb libpmc 8741e862e5aSFabien Thomaslibrary was written by 8751e862e5aSFabien Thomas.An "Joseph Koshy" 8761e862e5aSFabien Thomas.Aq jkoshy@FreeBSD.org . 8771e862e5aSFabien ThomasThe support for the Ivy Bridge 8781e862e5aSFabien Thomasmicroarchitecture was written by 8791e862e5aSFabien Thomas.An "Fabien Thomas" 8801e862e5aSFabien Thomas.Aq fabient@FreeBSD.org . 881