xref: /freebsd/lib/libpmc/pmc.ivybridge.3 (revision cdfd0cc86261ca58e40cc1affd700a3b9bb10a63)
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