xref: /freebsd/lib/libpmc/pmc.ivybridge.3 (revision bc0ad9a99d0c960f45e78b47ee085c32d88d8aa1)
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.
137cdfd0cc8SSean 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.
4529e60f3acSRyan Stone.It Li BR_INST_EXEC.NONTAKEN_COND
4539e60f3acSRyan Stone.Pq Event 88H , Umask 41H
4549e60f3acSRyan StoneCount conditional near branch instructions that were executed (but not
4559e60f3acSRyan Stonenecessarily retired) and not taken.
4569e60f3acSRyan Stone.It Li BR_INST_EXEC.TAKEN_COND
4579e60f3acSRyan Stone.Pq Event 88H , Umask 81H
4589e60f3acSRyan StoneCount conditional near branch instructions that were executed (but not
4599e60f3acSRyan Stonenecessarily retired) and taken.
4601e862e5aSFabien Thomas.It Li BR_INST_EXEC.DIRECT_JMP
4619e60f3acSRyan Stone.Pq Event 88H , Umask 82H
4629e60f3acSRyan StoneCount all unconditional near branch instructions excluding calls and
4631e862e5aSFabien Thomasindirect branches.
4641e862e5aSFabien Thomas.It Li BR_INST_EXEC.INDIRECT_JMP_NON_CALL_RET
4659e60f3acSRyan Stone.Pq Event 88H , Umask 84H
4669e60f3acSRyan StoneCount executed indirect near branch instructions that are not calls nor
4671e862e5aSFabien Thomasreturns.
4681e862e5aSFabien Thomas.It Li BR_INST_EXEC.RETURN_NEAR
4699e60f3acSRyan Stone.Pq Event 88H , Umask 88H
4709e60f3acSRyan StoneCount indirect near branches that have a return mnemonic.
4711e862e5aSFabien Thomas.It Li BR_INST_EXEC.DIRECT_NEAR_CALL
4729e60f3acSRyan Stone.Pq Event 88H , Umask 90H
4739e60f3acSRyan StoneCount unconditional near call branch instructions, excluding non call
4741e862e5aSFabien Thomasbranch, executed.
4751e862e5aSFabien Thomas.It Li BR_INST_EXEC.INDIRECT_NEAR_CALL
4769e60f3acSRyan Stone.Pq Event 88H , Umask A0H
4779e60f3acSRyan StoneCount indirect near calls, including both register and memory indirect,
4781e862e5aSFabien Thomasexecuted.
4791e862e5aSFabien Thomas.It Li BR_INST_EXEC.ALL_BRANCHES
4801e862e5aSFabien Thomas.Pq Event 88H , Umask FFH
4811e862e5aSFabien ThomasCounts all near executed branches (not necessarily retired).
4829e60f3acSRyan Stone.It Li BR_MISP_EXEC.NONTAKEN_COND
4839e60f3acSRyan Stone.Pq Event 89H , Umask 41H
4849e60f3acSRyan StoneCount conditional near branch instructions mispredicted as nontaken.
4859e60f3acSRyan Stone.It Li BR_MISP_EXEC.TAKEN_COND
4869e60f3acSRyan Stone.Pq Event 89H , Umask 81H
4879e60f3acSRyan StoneCount conditional near branch instructions mispredicted as taken.
4881e862e5aSFabien Thomas.It Li BR_MISP_EXEC.INDIRECT_JMP_NON_CALL_RET
4899e60f3acSRyan Stone.Pq Event 89H , Umask 84H
4909e60f3acSRyan StoneCount mispredicted indirect near branch instructions that are not calls
4911e862e5aSFabien Thomasnor returns.
4921e862e5aSFabien Thomas.It Li BR_MISP_EXEC.RETURN_NEAR
4939e60f3acSRyan Stone.Pq Event 89H , Umask 88H
4949e60f3acSRyan StoneCount mispredicted indirect near branches that have a return mnemonic.
4951e862e5aSFabien Thomas.It Li BR_MISP_EXEC.DIRECT_NEAR_CALL
4969e60f3acSRyan Stone.Pq Event 89H , Umask 90H
4979e60f3acSRyan StoneCount mispredicted unconditional near call branch instructions, excluding
4981e862e5aSFabien Thomasnon call branch, executed.
4991e862e5aSFabien Thomas.It Li BR_MISP_EXEC.INDIRECT_NEAR_CALL
5009e60f3acSRyan Stone.Pq Event 89H , Umask A0H
5019e60f3acSRyan StoneCount mispredicted indirect near calls, including both register and memory
5021e862e5aSFabien Thomasindirect, executed.
5031e862e5aSFabien Thomas.It Li BR_MISP_EXEC.ALL_BRANCHES
5041e862e5aSFabien Thomas.Pq Event 89H , Umask FFH
5059e60f3acSRyan StoneCounts all mispredicted near executed branches (not necessarily retired).
5061e862e5aSFabien Thomas.It Li IDQ_UOPS_NOT_DELIVERED.CORE
5071e862e5aSFabien Thomas.Pq Event 9CH , Umask 01H
5081e862e5aSFabien ThomasCount number of non-delivered uops to RAT per thread.
5091e862e5aSFabien ThomasUse Cmask to qualify uop b/w.
5101e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_0
5111e862e5aSFabien Thomas.Pq Event A1H , Umask 01H
5121e862e5aSFabien ThomasCycles which a Uop is dispatched on port 0.
5131e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_1
5141e862e5aSFabien Thomas.Pq Event A1H , Umask 02H
5151e862e5aSFabien ThomasCycles which a Uop is dispatched on port 1.
5161e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2_LD
5171e862e5aSFabien Thomas.Pq Event A1H , Umask 04H
5181e862e5aSFabien ThomasCycles which a load uop is dispatched on port 2.
5191e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2_STA
5201e862e5aSFabien Thomas.Pq Event A1H , Umask 08H
5211e862e5aSFabien ThomasCycles which a store address uop is dispatched on port 2.
5221e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_2
5231e862e5aSFabien Thomas.Pq Event A1H , Umask 0CH
5241e862e5aSFabien ThomasCycles which a Uop is dispatched on port 2.
5251e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3_LD
5261e862e5aSFabien Thomas.Pq Event A1H , Umask 10H
5271e862e5aSFabien ThomasCycles which a load uop is dispatched on port 3.
5281e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3_STA
5291e862e5aSFabien Thomas.Pq Event A1H , Umask 20H
5301e862e5aSFabien ThomasCycles which a store address uop is dispatched on port 3.
5311e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_3
5321e862e5aSFabien Thomas.Pq Event A1H , Umask 30H
5331e862e5aSFabien ThomasCycles which a Uop is dispatched on port 3.
5341e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_4
5351e862e5aSFabien Thomas.Pq Event A1H , Umask 40H
5361e862e5aSFabien ThomasCycles which a Uop is dispatched on port 4.
5371e862e5aSFabien Thomas.It Li UOPS_DISPATCHED_PORT.PORT_5
5381e862e5aSFabien Thomas.Pq Event A1H , Umask 80H
5391e862e5aSFabien ThomasCycles which a Uop is dispatched on port 5.
5401e862e5aSFabien Thomas.It Li RESOURCE_STALLS.ANY
5411e862e5aSFabien Thomas.Pq Event A2H , Umask 01H
5421e862e5aSFabien ThomasCycles Allocation is stalled due to Resource Related reason.
5431e862e5aSFabien Thomas.It Li RESOURCE_STALLS.RS
5441e862e5aSFabien Thomas.Pq Event A2H , Umask 04H
5451e862e5aSFabien ThomasCycles stalled due to no eligible RS entry available.
5461e862e5aSFabien Thomas.It Li RESOURCE_STALLS.SB
5471e862e5aSFabien Thomas.Pq Event A2H , Umask 08H
5481e862e5aSFabien ThomasCycles stalled due to no store buffers available. (not including draining
5491e862e5aSFabien Thomasform sync).
5501e862e5aSFabien Thomas.It Li RESOURCE_STALLS.ROB
5511e862e5aSFabien Thomas.Pq Event A2H , Umask 10H
5521e862e5aSFabien ThomasCycles stalled due to re-order buffer full.
5531e862e5aSFabien Thomas.It Li DSB2MITE_SWITCHES.COUNT
5541e862e5aSFabien Thomas.Pq Event ABH , Umask 01H
5551e862e5aSFabien ThomasNumber of DSB to MITE switches.
5561e862e5aSFabien Thomas.It Li DSB2MITE_SWITCHES.PENALTY_CYCLES
5571e862e5aSFabien Thomas.Pq Event ABH , Umask 02H
5581e862e5aSFabien ThomasCycles DSB to MITE switches caused delay.
5591e862e5aSFabien Thomas.It Li DSB_FILL.EXCEED_DSB_LINES
5601e862e5aSFabien Thomas.Pq Event ACH , Umask 08H
5611e862e5aSFabien ThomasDSB Fill encountered > 3 DSB lines.
5621e862e5aSFabien Thomas.It Li ITLB.ITLB_FLUSH
5631e862e5aSFabien Thomas.Pq Event AEH , Umask 01H
5641e862e5aSFabien ThomasCounts the number of ITLB flushes, includes 4k/2M/4M pages.
5651e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_DATA_RD
5661e862e5aSFabien Thomas.Pq Event B0H , Umask 01H
5671e862e5aSFabien ThomasDemand data read requests sent to uncore.
5681e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_CODE_RD
5691e862e5aSFabien Thomas.Pq Event B0H , Umask 02H
5701e862e5aSFabien ThomasDemand code read requests sent to uncore.
5711e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.DEMAND_RFO
5721e862e5aSFabien Thomas.Pq Event B0H , Umask 04H
5731e862e5aSFabien ThomasDemand RFO read requests sent to uncore, including regular RFOs, locks,
5741e862e5aSFabien ThomasItoM.
5751e862e5aSFabien Thomas.It Li OFFCORE_REQUESTS.ALL_DATA_RD
5761e862e5aSFabien Thomas.Pq Event B0H , Umask 08H
5771e862e5aSFabien ThomasData read requests sent to uncore (demand and prefetch).
5781e862e5aSFabien Thomas.It Li UOPS_EXECUTED.THREAD
5791e862e5aSFabien Thomas.Pq Event B1H , Umask 01H
5801e862e5aSFabien ThomasCounts total number of uops to be executed per-thread each cycle. Set Cmask
5811e862e5aSFabien Thomas= 1, INV =1 to count stall cycles.
5821e862e5aSFabien Thomas.It Li UOPS_EXECUTED.CORE
5831e862e5aSFabien Thomas.Pq Event B1H , Umask 02H
5841e862e5aSFabien ThomasCounts total number of uops to be executed per-core each cycle.
5851e862e5aSFabien ThomasDo not need to set ANY.
5861e862e5aSFabien Thomas.It Li OFF_CORE_RESPONSE_0
5871e862e5aSFabien Thomas.Pq Event B7H , Umask 01H
5881e862e5aSFabien ThomasOff-core Response Performance Monitoring.
5891e862e5aSFabien ThomasPMC0 only.
5901e862e5aSFabien ThomasRequires programming MSR 01A6H.
5911e862e5aSFabien Thomas.It Li OFF_CORE_RESPONSE_1
5921e862e5aSFabien Thomas.Pq Event BBH , Umask 01H
5931e862e5aSFabien ThomasOff-core Response Performance Monitoring.
5941e862e5aSFabien ThomasPMC3 only.
5951e862e5aSFabien ThomasRequires programming MSR 01A7H.
5961e862e5aSFabien Thomas.It Li TLB_FLUSH.DTLB_THREAD
5971e862e5aSFabien Thomas.Pq Event BDH , Umask 01H
5981e862e5aSFabien ThomasDTLB flush attempts of the thread- specific entries.
5991e862e5aSFabien Thomas.It Li TLB_FLUSH.STLB_ANY
6001e862e5aSFabien Thomas.Pq Event BDH , Umask 20H
6011e862e5aSFabien ThomasCount number of STLB flush attempts.
6021e862e5aSFabien Thomas.It Li INST_RETIRED.ANY_P
6031e862e5aSFabien Thomas.Pq Event C0H , Umask 00H
6041e862e5aSFabien ThomasNumber of instructions at retirement.
6051e862e5aSFabien Thomas.It Li INST_RETIRED.ALL
6061e862e5aSFabien Thomas.Pq Event C0H , Umask 01H
6071e862e5aSFabien ThomasPrecise instruction retired event with HW to reduce effect of PEBS shadow in
6081e862e5aSFabien ThomasIP distribution.
6091e862e5aSFabien ThomasPMC1 only.
6101e862e5aSFabien ThomasMust quiesce other PMCs.
6111e862e5aSFabien Thomas.It Li OTHER_ASSISTS.AVX_STORE
6121e862e5aSFabien Thomas.Pq Event C1H , Umask 08H
6131e862e5aSFabien ThomasNumber of assists associated with 256-bit AVX store operations.
6141e862e5aSFabien Thomas.It Li OTHER_ASSISTS.AVX_TO_SSE
6151e862e5aSFabien Thomas.Pq Event C1H , Umask 10H
6161e862e5aSFabien ThomasNumber of transitions from AVX- 256 to legacy SSE when penalty applicable.
6171e862e5aSFabien Thomas.It Li OTHER_ASSISTS.SSE_TO_AVX
6181e862e5aSFabien Thomas.Pq Event C1H , Umask 20H
6191e862e5aSFabien ThomasNumber of transitions from SSE to AVX-256 when penalty applicable.
6201e862e5aSFabien Thomas.It Li UOPS_RETIRED.ALL
6211e862e5aSFabien Thomas.Pq Event C2H , Umask 01H
6221e862e5aSFabien ThomasCounts the number of micro-ops retired, Use cmask=1 and invert to count
6231e862e5aSFabien Thomasactive cycles or stalled cycles.
6241e862e5aSFabien ThomasSupports PEBS, use Any=1 for core granular.
6251e862e5aSFabien Thomas.It Li UOPS_RETIRED.RETIRE_SLOTS
6261e862e5aSFabien Thomas.Pq Event C2H , Umask 02H
6271e862e5aSFabien ThomasCounts the number of retirement slots used each cycle.
6281e862e5aSFabien Thomas.It Li MACHINE_CLEARS.MEMORY_ORDERING
6291e862e5aSFabien Thomas.Pq Event C3H , Umask 02H
6301e862e5aSFabien ThomasCounts the number of machine clears due to memory order conflicts.
6311e862e5aSFabien Thomas.It Li MACHINE_CLEARS.SMC
6321e862e5aSFabien Thomas.Pq Event C3H , Umask 04H
6331e862e5aSFabien ThomasNumber of self-modifying-code machine clears detected.
6341e862e5aSFabien Thomas.It Li MACHINE_CLEARS.MASKMOV
6351e862e5aSFabien Thomas.Pq Event C3H , Umask 20H
6361e862e5aSFabien ThomasCounts the number of executed AVX masked load operations that refer to an
6371e862e5aSFabien Thomasillegal address range with the mask bits set to 0.
6381e862e5aSFabien Thomas.It Li BR_INST_RETIRED.ALL_BRANCHES
6391e862e5aSFabien Thomas.Pq Event C4H , Umask 00H
6401e862e5aSFabien ThomasBranch instructions at retirement.
6411e862e5aSFabien Thomas.It Li BR_INST_RETIRED.CONDITIONAL
6421e862e5aSFabien Thomas.Pq Event C4H , Umask 01H
6431e862e5aSFabien ThomasCounts the number of conditional branch instructions retired.
6441e862e5aSFabien ThomasSupports PEBS.
6451e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_CALL
6461e862e5aSFabien Thomas.Pq Event C4H , Umask 02H
6471e862e5aSFabien ThomasDirect and indirect near call instructions retired.
6481e862e5aSFabien Thomas.It Li BR_INST_RETIRED.ALL_BRANCHES
6491e862e5aSFabien Thomas.Pq Event C4H , Umask 04H
6501e862e5aSFabien ThomasCounts the number of branch instructions retired.
6511e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_RETURN
6521e862e5aSFabien Thomas.Pq Event C4H , Umask 08H
6531e862e5aSFabien ThomasCounts the number of near return instructions retired.
6541e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NOT_TAKEN
6551e862e5aSFabien Thomas.Pq Event C4H , Umask 10H
6561e862e5aSFabien ThomasCounts the number of not taken branch instructions retired.
6571e862e5aSFabien Thomas.It Li BR_INST_RETIRED.NEAR_TAKEN
6581e862e5aSFabien Thomas.Pq Event C4H , Umask 20H
6591e862e5aSFabien ThomasNumber of near taken branches retired.
6601e862e5aSFabien Thomas.It Li BR_INST_RETIRED.FAR_BRANCH
6611e862e5aSFabien Thomas.Pq Event C4H , Umask 40H
6621e862e5aSFabien ThomasNumber of far branches retired.
6631e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.ALL_BRANCHES
6641e862e5aSFabien Thomas.Pq Event C5H , Umask 00H
6651e862e5aSFabien ThomasMispredicted branch instructions at retirement.
6661e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.CONDITIONAL
6671e862e5aSFabien Thomas.Pq Event C5H , Umask 01H
6681e862e5aSFabien ThomasMispredicted conditional branch instructions retired.
6691e862e5aSFabien ThomasSupports PEBS.
6701e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.NEAR_CALL
6711e862e5aSFabien Thomas.Pq Event C5H , Umask 02H
6721e862e5aSFabien ThomasDirect and indirect mispredicted near call instructions retired.
6731e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.ALL_BRANCHES
6741e862e5aSFabien Thomas.Pq Event C5H , Umask 04H
6751e862e5aSFabien ThomasMispredicted macro branch instructions retired.
6761e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.NOT_TAKEN
6771e862e5aSFabien Thomas.Pq Event C5H , Umask 10H
6781e862e5aSFabien ThomasMispredicted not taken branch instructions retired.
6791e862e5aSFabien Thomas.It Li BR_MISP_RETIRED.TAKEN
6801e862e5aSFabien Thomas.Pq Event C5H , Umask 20H
6811e862e5aSFabien ThomasMispredicted taken branch instructions retired.
6821e862e5aSFabien Thomas.It Li FP_ASSIST.X87_OUTPUT
6831e862e5aSFabien Thomas.Pq Event CAH , Umask 02H
6841e862e5aSFabien ThomasNumber of X87 FP assists due to Output values.
6851e862e5aSFabien Thomas.It Li FP_ASSIST.X87_INPUT
6861e862e5aSFabien Thomas.Pq Event CAH , Umask 04H
6871e862e5aSFabien ThomasNumber of X87 FP assists due to input values.
6881e862e5aSFabien Thomas.It Li FP_ASSIST.SIMD_OUTPUT
6891e862e5aSFabien Thomas.Pq Event CAH , Umask 08H
6901e862e5aSFabien ThomasNumber of SIMD FP assists due to Output values.
6911e862e5aSFabien Thomas.It Li FP_ASSIST.SIMD_INPUT
6921e862e5aSFabien Thomas.Pq Event CAH , Umask 10H
6931e862e5aSFabien ThomasNumber of SIMD FP assists due to input values.
6941e862e5aSFabien Thomas.It Li FP_ASSIST.ANY
6951e862e5aSFabien Thomas.Pq Event CAH , Umask 1EH
6961e862e5aSFabien ThomasCycles with any input/output SSE* or FP assists.
6971e862e5aSFabien Thomas.It Li ROB_MISC_EVENTS.LBR_INSERTS
6981e862e5aSFabien Thomas.Pq Event CCH , Umask 20H
6991e862e5aSFabien ThomasCount cases of saving new LBR records by hardware.
7001e862e5aSFabien Thomas.It Li MEM_TRANS_RETIRED.LOAD_LATENCY
7011e862e5aSFabien Thomas.Pq Event CDH , Umask 01H
7021e862e5aSFabien ThomasSample loads with specified latency threshold.
7031e862e5aSFabien ThomasPMC3 only.
7041e862e5aSFabien ThomasSpecify threshold in MSR 0x3F6.
7051e862e5aSFabien Thomas.It Li MEM_TRANS_RETIRED.PRECISE_STORE
7061e862e5aSFabien Thomas.Pq Event CDH , Umask 02H
7071e862e5aSFabien ThomasSample stores and collect precise store operation via PEBS record.
7081e862e5aSFabien ThomasPMC3 only.
709*bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.STLB_MISS_LOADS
710*bc0ad9a9SRyan Stone.Pq Event D0H , Umask 11H
711*bc0ad9a9SRyan StoneCount retired load uops that missed the STLB.
712*bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.STLB_MISS_STORES
713*bc0ad9a9SRyan Stone.Pq Event D0H , Umask 12H
714*bc0ad9a9SRyan StoneCount retired store uops that missed the STLB.
715*bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.SPLIT_LOADS
716*bc0ad9a9SRyan Stone.Pq Event D0H , Umask 41H
717*bc0ad9a9SRyan StoneCount retired load uops that were split across a cache line.
718*bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.SPLIT_STORES
719*bc0ad9a9SRyan Stone.Pq Event D0H , Umask 42H
720*bc0ad9a9SRyan StoneCount retired store uops that were split across a cache line.
721*bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.ALL_LOADS
722*bc0ad9a9SRyan Stone.Pq Event D0H , Umask 81H
723*bc0ad9a9SRyan StoneCount all retired load uops.
724*bc0ad9a9SRyan Stone.It Li MEM_UOPS_RETIRED.ALL_STORES
725*bc0ad9a9SRyan Stone.Pq Event D0H , Umask 82H
726*bc0ad9a9SRyan StoneCount all retired store uops.
7271e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.L1_HIT
7281e862e5aSFabien Thomas.Pq Event D1H , Umask 01H
7291e862e5aSFabien ThomasRetired load uops with L1 cache hits as data sources.
7301e862e5aSFabien ThomasSupports PEBS.
7311e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.L2_HIT
7321e862e5aSFabien Thomas.Pq Event D1H , Umask 02H
7331e862e5aSFabien ThomasRetired load uops with L2 cache hits as data sources.
7341e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.LLC_HIT
7351e862e5aSFabien Thomas.Pq Event D1H , Umask 04H
7361e862e5aSFabien ThomasRetired load uops with LLC cache hits as data sources.
7371e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_RETIRED.HIT_LFB
7381e862e5aSFabien Thomas.Pq Event D1H , Umask 40H
7391e862e5aSFabien ThomasRetired load uops which data sources were load uops missed L1 but hit FB due
7401e862e5aSFabien Thomasto preceding miss to the same cache line with data not ready.
7411e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_MISS
7421e862e5aSFabien Thomas.Pq Event D2H , Umask 01H
7431e862e5aSFabien ThomasRetired load uops which data sources were LLC hit and cross-core snoop
7441e862e5aSFabien Thomasmissed in on-pkg core cache.
7451e862e5aSFabien ThomasSupports PEBS.
7461e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT
7471e862e5aSFabien Thomas.Pq Event D2H , Umask 02H
7481e862e5aSFabien ThomasRetired load uops which data sources were LLC and cross-core snoop hits in
7491e862e5aSFabien Thomason-pkg core cache.
7501e862e5aSFabien ThomasSupports PEBS.
7511e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM
7521e862e5aSFabien Thomas.Pq Event D2H , Umask 04H
7531e862e5aSFabien ThomasRetired load uops which data sources were HitM responses from shared LLC.
7541e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_NONE
7551e862e5aSFabien Thomas.Pq Event D2H , Umask 08H
7561e862e5aSFabien ThomasRetired load uops which data sources were hits in LLC without snoops
7571e862e5aSFabien Thomasrequired.
7581e862e5aSFabien Thomas.It Li MEM_LOAD_UOPS_LLC_MISS_RETIRED.LOCAL_DRAM
7591e862e5aSFabien Thomas.Pq Event D3H , Umask 01H
7601e862e5aSFabien ThomasRetired load uops which data sources missed LLC but serviced from local
7611e862e5aSFabien Thomasdram.
7621e862e5aSFabien ThomasSupports PEBS.
7631e862e5aSFabien Thomas.It Li L2_TRANS.DEMAND_DATA_RD
7641e862e5aSFabien Thomas.Pq Event F0H , Umask 01H
7651e862e5aSFabien ThomasDemand Data Read requests that access L2 cache.
7661e862e5aSFabien Thomas.It Li L2_TRANS.RFO
7671e862e5aSFabien Thomas.Pq Event F0H , Umask 02H
7681e862e5aSFabien ThomasRFO requests that access L2 cache.
7691e862e5aSFabien Thomas.It Li L2_TRANS.CODE_RD
7701e862e5aSFabien Thomas.Pq Event F0H , Umask 04H
7711e862e5aSFabien ThomasL2 cache accesses when fetching instructions.
7721e862e5aSFabien Thomas.It Li L2_TRANS.ALL_PF
7731e862e5aSFabien Thomas.Pq Event F0H , Umask 08H
7741e862e5aSFabien ThomasAny MLC or LLC HW prefetch accessing L2, including rejects.
7751e862e5aSFabien Thomas.It Li L2_TRANS.L1D_WB
7761e862e5aSFabien Thomas.Pq Event F0H , Umask 10H
7771e862e5aSFabien ThomasL1D writebacks that access L2 cache.
7781e862e5aSFabien Thomas.It Li L2_TRANS.L2_FILL
7791e862e5aSFabien Thomas.Pq Event F0H , Umask 20H
7801e862e5aSFabien ThomasL2 fill requests that access L2 cache.
7811e862e5aSFabien Thomas.It Li L2_TRANS.L2_WB
7821e862e5aSFabien Thomas.Pq Event F0H , Umask 40H
7831e862e5aSFabien ThomasL2 writebacks that access L2 cache.
7841e862e5aSFabien Thomas.It Li L2_TRANS.ALL_REQUESTS
7851e862e5aSFabien Thomas.Pq Event F0H , Umask 80H
7861e862e5aSFabien ThomasTransactions accessing L2 pipe.
7871e862e5aSFabien Thomas.It Li L2_LINES_IN.I
7881e862e5aSFabien Thomas.Pq Event F1H , Umask 01H
7891e862e5aSFabien ThomasL2 cache lines in I state filling L2.
7901e862e5aSFabien ThomasCounting does not cover rejects.
7911e862e5aSFabien Thomas.It Li L2_LINES_IN.S
7921e862e5aSFabien Thomas.Pq Event F1H , Umask 02H
7931e862e5aSFabien ThomasL2 cache lines in S state filling L2.
7941e862e5aSFabien ThomasCounting does not cover rejects.
7951e862e5aSFabien Thomas.It Li L2_LINES_IN.E
7961e862e5aSFabien Thomas.Pq Event F1H , Umask 04H
7971e862e5aSFabien ThomasL2 cache lines in E state filling L2.
7981e862e5aSFabien ThomasCounting does not cover rejects.
7991e862e5aSFabien Thomas.It Li L2_LINES_IN.ALL
8001e862e5aSFabien Thomas.Pq Event F1H , Umask 07H
8011e862e5aSFabien ThomasL2 cache lines filling L2.
8021e862e5aSFabien ThomasCounting does not cover rejects.
8031e862e5aSFabien Thomas.It Li L2_LINES_OUT.DEMAND_CLEAN
8041e862e5aSFabien Thomas.Pq Event F2H , Umask 01H
8051e862e5aSFabien ThomasClean L2 cache lines evicted by demand.
8061e862e5aSFabien Thomas.It Li L2_LINES_OUT.DEMAND_DIRTY
8071e862e5aSFabien Thomas.Pq Event F2H , Umask 02H
8081e862e5aSFabien ThomasDirty L2 cache lines evicted by demand.
8091e862e5aSFabien Thomas.It Li L2_LINES_OUT.PF_CLEAN
8101e862e5aSFabien Thomas.Pq Event F2H , Umask 04H
8111e862e5aSFabien ThomasClean L2 cache lines evicted by the MLC prefetcher.
8121e862e5aSFabien Thomas.It Li L2_LINES_OUT.PF_DIRTY
8131e862e5aSFabien Thomas.Pq Event F2H , Umask 08H
8141e862e5aSFabien ThomasDirty L2 cache lines evicted by the MLC prefetcher.
8151e862e5aSFabien Thomas.El
8161e862e5aSFabien Thomas.Sh SEE ALSO
8171e862e5aSFabien Thomas.Xr pmc 3 ,
8181e862e5aSFabien Thomas.Xr pmc.atom 3 ,
8191e862e5aSFabien Thomas.Xr pmc.core 3 ,
82073461c24SJoel Dahl.Xr pmc.corei7 3 ,
82173461c24SJoel Dahl.Xr pmc.corei7uc 3 ,
8221e862e5aSFabien Thomas.Xr pmc.iaf 3 ,
82373461c24SJoel Dahl.Xr pmc.ivybridgexeon 3 ,
8241e862e5aSFabien Thomas.Xr pmc.k7 3 ,
8251e862e5aSFabien Thomas.Xr pmc.k8 3 ,
8261e862e5aSFabien Thomas.Xr pmc.p4 3 ,
8271e862e5aSFabien Thomas.Xr pmc.p5 3 ,
8281e862e5aSFabien Thomas.Xr pmc.p6 3 ,
8291e862e5aSFabien Thomas.Xr pmc.sandybridge 3 ,
8301e862e5aSFabien Thomas.Xr pmc.sandybridgeuc 3 ,
83129f79bb3SSean Bruno.Xr pmc.sandybridgexeon 3 ,
8321e862e5aSFabien Thomas.Xr pmc.soft 3 ,
8331e862e5aSFabien Thomas.Xr pmc.tsc 3 ,
83473461c24SJoel Dahl.Xr pmc.ucf 3 ,
83573461c24SJoel Dahl.Xr pmc.westmere 3 ,
83673461c24SJoel Dahl.Xr pmc.westmereuc 3 ,
8371e862e5aSFabien Thomas.Xr pmc_cpuinfo 3 ,
8381e862e5aSFabien Thomas.Xr pmclog 3 ,
8391e862e5aSFabien Thomas.Xr hwpmc 4
8401e862e5aSFabien Thomas.Sh HISTORY
8411e862e5aSFabien ThomasThe
8421e862e5aSFabien Thomas.Nm pmc
8431e862e5aSFabien Thomaslibrary first appeared in
8441e862e5aSFabien Thomas.Fx 6.0 .
8451e862e5aSFabien Thomas.Sh AUTHORS
8462b7af31cSBaptiste Daroussin.An -nosplit
8471e862e5aSFabien ThomasThe
8481e862e5aSFabien Thomas.Lb libpmc
8491e862e5aSFabien Thomaslibrary was written by
8502b7af31cSBaptiste Daroussin.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org .
8511e862e5aSFabien ThomasThe support for the Ivy Bridge
8521e862e5aSFabien Thomasmicroarchitecture was written by
8532b7af31cSBaptiste Daroussin.An Fabien Thomas Aq Mt fabient@FreeBSD.org .
854