Intel® VTune™ Amplifier

Events for Intel® Microarchitecture Code Name Skylake

This section provides reference for hardware events that can be monitored for the CPU(s):

The following performance-monitoring events are supported:

ARITH.DIVIDER_ACTIVE

Cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.

BACLEARS.ANY

Counts the total number when the front end is resteered, mainly when the BPU cannot provide a correct prediction and this is corrected by other branch handling mechanisms at the front end.

BR_INST_RETIRED.ALL_BRANCHES

All (macro) branch instructions retired.

BR_INST_RETIRED.ALL_BRANCHES_PS

All (macro) branch instructions retired.

BR_INST_RETIRED.CONDITIONAL

Conditional branch instructions retired.

BR_INST_RETIRED.CONDITIONAL_PS

Conditional branch instructions retired.

BR_INST_RETIRED.FAR_BRANCH

Far branch instructions retired.

BR_INST_RETIRED.FAR_BRANCH_PS

Counts the number of far branch instructions retired.

BR_INST_RETIRED.NEAR_CALL

Direct and indirect near call instructions retired.

BR_INST_RETIRED.NEAR_CALL_PS

Direct and indirect near call instructions retired.

BR_INST_RETIRED.NEAR_RETURN

Return instructions retired.

BR_INST_RETIRED.NEAR_RETURN_PS

Return instructions retired.

BR_INST_RETIRED.NEAR_TAKEN

Taken branch instructions retired.

BR_INST_RETIRED.NEAR_TAKEN_PS

Taken branch instructions retired.

BR_INST_RETIRED.NOT_TAKEN

Not taken branch instructions retired.

BR_MISP_RETIRED.ALL_BRANCHES

All mispredicted macro branch instructions retired.

BR_MISP_RETIRED.ALL_BRANCHES_PS

Mispredicted macro branch instructions retired.

BR_MISP_RETIRED.CONDITIONAL

Mispredicted conditional branch instructions retired.

BR_MISP_RETIRED.CONDITIONAL_PS

Mispredicted conditional branch instructions retired.

BR_MISP_RETIRED.NEAR_TAKEN

number of near branch instructions retired that were mispredicted and taken.

BR_MISP_RETIRED.NEAR_TAKEN_PS

number of near branch instructions retired that were mispredicted and taken.

CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE

Count XClk pulses when this thread is unhalted and the other thread is halted.

CPU_CLK_THREAD_UNHALTED.REF_XCLK

Reference cycles when the thread is unhalted (counts at 100 MHz rate)

CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY

Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate)

CPU_CLK_UNHALTED.REF_TSC

Reference cycles when the core is not in halt state.

CPU_CLK_UNHALTED.THREAD

Core cycles when the thread is not in halt state

CPU_CLK_UNHALTED.THREAD_ANY

Core cycles when at least one thread on the physical core is not in halt state

CPU_CLK_UNHALTED.THREAD_P

Thread cycles when thread is not in halt state

CPU_CLK_UNHALTED.THREAD_P_ANY

Core cycles when at least one thread on the physical core is not in halt state

CYCLE_ACTIVITY.CYCLES_L1D_MISS

Cycles while L1 cache miss demand load is outstanding.

CYCLE_ACTIVITY.CYCLES_L2_MISS

Cycles while L2 cache miss demand load is outstanding.

CYCLE_ACTIVITY.CYCLES_L3_MISS

Cycles while L3 cache miss demand load is outstanding.

CYCLE_ACTIVITY.CYCLES_MEM_ANY

Cycles while memory subsystem has an outstanding load.

CYCLE_ACTIVITY.STALLS_L1D_MISS

Execution stalls while L1 cache miss demand load is outstanding.

CYCLE_ACTIVITY.STALLS_L2_MISS

Execution stalls while L2 cache miss demand load is outstanding.

CYCLE_ACTIVITY.STALLS_L3_MISS

Execution stalls while L3 cache miss demand load is outstanding.

CYCLE_ACTIVITY.STALLS_MEM_ANY

Execution stalls while memory subsystem has an outstanding load.

CYCLE_ACTIVITY.STALLS_TOTAL

Total execution stalls.

DSB2MITE_SWITCHES.PENALTY_CYCLES

Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles.

DTLB_LOAD_MISSES.MISS_CAUSES_A_WALK

Load misses in all DTLB levels that cause page walks

DTLB_LOAD_MISSES.STLB_HIT

Loads that miss the DTLB and hit the STLB.

DTLB_LOAD_MISSES.WALK_ACTIVE

Cycles when at least one PMH is busy with a page walk for a load.

DTLB_LOAD_MISSES.WALK_COMPLETED

Load miss in all TLB levels causes a page walk that completes. (All page sizes)

DTLB_LOAD_MISSES.WALK_PENDING

Counts 1 per cycle for each PMH that is busy with a page walk for a load.

DTLB_STORE_MISSES.MISS_CAUSES_A_WALK

Store misses in all DTLB levels that cause page walks

DTLB_STORE_MISSES.STLB_HIT

Stores that miss the DTLB and hit the STLB.

DTLB_STORE_MISSES.WALK_ACTIVE

Cycles when at least one PMH is busy with a page walk for a store.

DTLB_STORE_MISSES.WALK_COMPLETED

Store misses in all TLB levels causes a page walk that completes. (All page sizes)

DTLB_STORE_MISSES.WALK_PENDING

Counts 1 per cycle for each PMH that is busy with a page walk for a store.

EPT.WALK_PENDING

Counts 1 per cycle for each PMH that is busy with a EPT (Extended Page Table) walk for any request type.

EXE_ACTIVITY.1_PORTS_UTIL

Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.

EXE_ACTIVITY.2_PORTS_UTIL

Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.

EXE_ACTIVITY.3_PORTS_UTIL

Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.

EXE_ACTIVITY.4_PORTS_UTIL

Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.

EXE_ACTIVITY.BOUND_ON_STORES

Cycles where the Store Buffer was full and no outstanding load.

EXE_ACTIVITY.EXE_BOUND_0_PORTS

Cycles where no uops were executed, the Reservation Station was not empty, the Store Buffer was full and there was no outstanding load.

FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE

Number of SSE/AVX computational 128-bit packed double precision floating-point instructions retired. Each count represents 2 computations. Applies to SSE* and AVX* packed double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.

FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE

Number of SSE/AVX computational 128-bit packed single precision floating-point instructions retired. Each count represents 4 computations. Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.

FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE

Number of SSE/AVX computational 256-bit packed double precision floating-point instructions retired. Each count represents 4 computations. Applies to SSE* and AVX* packed double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.

FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE

Number of SSE/AVX computational 256-bit packed single precision floating-point instructions retired. Each count represents 8 computations. Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.

FP_ARITH_INST_RETIRED.SCALAR_DOUBLE

Number of SSE/AVX computational scalar double precision floating-point instructions retired. Each count represents 1 computation. Applies to SSE* and AVX* scalar double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.

FP_ARITH_INST_RETIRED.SCALAR_SINGLE

Number of SSE/AVX computational scalar single precision floating-point instructions retired. Each count represents 1 computation. Applies to SSE* and AVX* scalar single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.

FP_ASSIST.ANY

Cycles with any input/output SSE or FP assist

FRONTEND_RETIRED.DSB_MISS

Retired Instructions who experienced decode stream buffer (DSB - the decoded insturction-cache) miss.

FRONTEND_RETIRED.DSB_MISS_PS

Retired Instructions who experienced decode stream buffer (DSB - the decoded insturction-cache) miss. Precise Event.

FRONTEND_RETIRED.ITLB_MISS

Retired Instructions who experienced iTLB true miss.

FRONTEND_RETIRED.ITLB_MISS_PS

Retired Instructions who experienced iTLB true miss. Precise Event.

FRONTEND_RETIRED.L1I_MISS

Retired Instructions who experienced Instruction L1 Cache true miss.

FRONTEND_RETIRED.L1I_MISS_PS

Retired Instructions who experienced Instruction L1 Cache true miss. Precise Event.

FRONTEND_RETIRED.L2_MISS

Retired Instructions who experienced Instruction L2 Cache true miss.

FRONTEND_RETIRED.L2_MISS_PS

Retired Instructions who experienced Instruction L2 Cache true miss. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_128

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 128 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_128_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 128 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_16

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 16 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_16_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 16 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_2

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 2 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_256

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 256 cycles which was not interrupted by a back-end stall

FRONTEND_RETIRED.LATENCY_GE_256_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 256 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_1

Retired instructions that are fetched after an interval where the front-end had at least 1 bubble-slot for a period of 2 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_1_PS

Retired instructions that are fetched after an interval where the front-end had at least 1 bubble-slot for a period of 2 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_2

Retired instructions that are fetched after an interval where the front-end had at least 2 bubble-slots for a period of 2 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_2_PS

Retired instructions that are fetched after an interval where the front-end had at least 2 bubble-slots for a period of 2 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_3

Retired instructions that are fetched after an interval where the front-end had at least 3 bubble-slots for a period of 2 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_3_PS

Retired instructions that are fetched after an interval where the front-end had at least 3 bubble-slots for a period of 2 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_2_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 2 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_32

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 32 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_32_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 32 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_4

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 4 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_4_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 4 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_512

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 512 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_512_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 512 cycles which was not interrupted by a back-end stall. Precise Event.

FRONTEND_RETIRED.LATENCY_GE_64

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 64 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_64_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 64 cycles which was not interrupted by a back-end stall. Precise Event

FRONTEND_RETIRED.LATENCY_GE_8

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 8 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.LATENCY_GE_8_PS

Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 8 cycles which was not interrupted by a back-end stall.

FRONTEND_RETIRED.STLB_MISS

Retired Instructions who experienced STLB (2nd level TLB) true miss.

FRONTEND_RETIRED.STLB_MISS_PS

Retired Instructions who experienced STLB (2nd level TLB) true miss. Precise Event.

HLE_RETIRED.ABORTED

Number of times an HLE execution aborted due to any reasons (multiple categories may count as one).

HLE_RETIRED.ABORTED_PS

Number of times an HLE execution aborted due to any reasons (multiple categories may count as one).

HLE_RETIRED.ABORT_EVENTS

Number of times an HLE execution aborted due to unfriendly events (such as interrupts).

HLE_RETIRED.ABORT_MEM

Number of times an HLE execution aborted due to various memory events (e.g., read/write capacity and conflicts).

HLE_RETIRED.ABORT_MEMTYPE

Number of times an HLE execution aborted due to incompatible memory type

HLE_RETIRED.ABORT_TMR

Number of times an HLE execution aborted due to hardware timer expiration.

HLE_RETIRED.ABORT_UNFRIENDLY

Number of times an HLE execution aborted due to HLE-unfriendly instructions and certain unfriendly events (such as AD assists etc.).

HLE_RETIRED.COMMIT

Number of times an HLE execution successfully committed

HLE_RETIRED.START

Number of times an HLE execution started.

HW_INTERRUPTS.RECEIVED

Number of hardware interrupts received by the processor.

ICACHE_16B.IFDATA_STALL

Cycles where a code fetch is stalled due to L1 instruction cache miss.

ICACHE_64B.IFTAG_HIT

Instruction fetch tag lookups that hit in the instruction cache (L1I). Counts at 64-byte cache-line granularity.

ICACHE_64B.IFTAG_MISS

Instruction fetch tag lookups that miss in the instruction cache (L1I). Counts at 64-byte cache-line granularity.

ICACHE_64B.IFTAG_STALL

Cycles where a code fetch is stalled due to L1 instruction cache tag miss.

IDQ.ALL_DSB_CYCLES_4_UOPS

Cycles Decode Stream Buffer (DSB) is delivering 4 Uops

IDQ.ALL_DSB_CYCLES_ANY_UOPS

Cycles Decode Stream Buffer (DSB) is delivering any Uop

IDQ.ALL_MITE_CYCLES_4_UOPS

Cycles MITE is delivering 4 Uops

IDQ.ALL_MITE_CYCLES_ANY_UOPS

Cycles MITE is delivering any Uop

IDQ.DSB_CYCLES

Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path

IDQ.DSB_UOPS

Uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path

IDQ.MITE_CYCLES

Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path

IDQ.MITE_UOPS

Uops delivered to Instruction Decode Queue (IDQ) from MITE path

IDQ.MS_CYCLES

Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy

IDQ.MS_DSB_CYCLES

Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy

IDQ.MS_MITE_UOPS

Uops initiated by MITE and delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy

IDQ.MS_SWITCHES

Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer

IDQ.MS_UOPS

Uops delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy

IDQ_UOPS_NOT_DELIVERED.CORE

Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled

IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE

Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled

IDQ_UOPS_NOT_DELIVERED.CYCLES_FE_WAS_OK

Counts cycles FE delivered 4 uops or Resource Allocation Table (RAT) was stalling FE.

IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_1_UOP_DELIV.CORE

Cycles per thread when 3 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled

IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_2_UOP_DELIV.CORE

Cycles with less than 2 uops delivered by the front end.

IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_3_UOP_DELIV.CORE

Cycles with less than 3 uops delivered by the front end.

ILD_STALL.LCP

Stalls caused by changing prefix length of the instruction.

INST_RETIRED.ANY

Instructions retired from execution.mem

INST_RETIRED.ANY_P

Number of instructions retired. General Counter - architectural event

INST_RETIRED.PREC_DIST

Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution

INST_RETIRED.TOTAL_CYCLES_PS

Number of cycles using always true condition applied to PEBS instructions retired event.

INT_MISC.CLEAR_RESTEER_CYCLES

Cycles the issue-stage is waiting for front-end to fetch from resteered path following branch misprediction or machine clear events.

INT_MISC.RECOVERY_CYCLES

Core cycles the allocator was stalled due to recovery from earlier clear event for this thread (e.g. misprediction or memory nuke)

INT_MISC.RECOVERY_CYCLES_ANY

Core cycles the allocator was stalled due to recovery from earlier clear event for any thread running on the physical core (e.g. misprediction or memory nuke)

ITLB.ITLB_FLUSH

Flushing of the Instruction TLB (ITLB) pages, includes 4k/2M/4M pages.

ITLB_MISSES.MISS_CAUSES_A_WALK

Misses at all ITLB levels that cause page walks

ITLB_MISSES.STLB_HIT

Intruction fetch requests that miss the ITLB and hit the STLB.

ITLB_MISSES.WALK_COMPLETED

Code miss in all TLB levels causes a page walk that completes. (All page sizes)

ITLB_MISSES.WALK_PENDING

Counts 1 per cycle for each PMH that is busy with a page walk for an instruction fetch request.

L1D.REPLACEMENT

L1D data line replacements

L1D_PEND_MISS.FB_FULL

Number of times a request needed a FB entry but there was no entry available for it. That is the FB unavailability was dominant reason for blocking the request. A request includes cacheable/uncacheable demands that is load, store or SW prefetch. HWP are e

L1D_PEND_MISS.PENDING

L1D miss oustandings duration in cycles

L1D_PEND_MISS.PENDING_CYCLES

Cycles with L1D load Misses outstanding.

L1D_PEND_MISS.PENDING_CYCLES_ANY

Cycles with L1D load Misses outstanding from any thread on physical core

L2_LINES_IN.ALL

L2 cache lines filling L2

L2_RQSTS.ALL_CODE_RD

L2 code requests

L2_RQSTS.ALL_DEMAND_DATA_RD

Demand Data Read requests

L2_RQSTS.ALL_DEMAND_MISS

Demand requests that miss L2 cache

L2_RQSTS.ALL_DEMAND_REFERENCES

Demand requests to L2 cache

L2_RQSTS.ALL_PF

Requests from the L1/L2/L3 hardware prefetchers or Load software prefetches

L2_RQSTS.ALL_RFO

RFO requests to L2 cache

L2_RQSTS.CODE_RD_HIT

L2 cache hits when fetching instructions, code reads.

L2_RQSTS.CODE_RD_MISS

L2 cache misses when fetching instructions

L2_RQSTS.DEMAND_DATA_RD_HIT

Demand Data Read requests that hit L2 cache

L2_RQSTS.DEMAND_DATA_RD_MISS

Demand Data Read miss L2, no rejects

L2_RQSTS.MISS

All requests that miss L2 cache

L2_RQSTS.PF_HIT

Requests from the L1/L2/L3 hardware prefetchers or Load software prefetches that hit L2 cache

L2_RQSTS.PF_MISS

Requests from the L1/L2/L3 hardware prefetchers or Load software prefetches that miss L2 cache

L2_RQSTS.REFERENCES

All L2 requests

L2_RQSTS.RFO_HIT

RFO requests that hit L2 cache

L2_RQSTS.RFO_MISS

RFO requests that miss L2 cache

L2_TRANS.L2_WB

L2 writebacks that access L2 cache

LD_BLOCKS.NO_SR

The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use

LD_BLOCKS.STORE_FORWARD

loads blocked by overlapping with store buffer that cannot be forwarded .

LD_BLOCKS_PARTIAL.ADDRESS_ALIAS

False dependencies in MOB due to partial compare on address.

LOAD_HIT_PRE.SW_PF

Demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.

LOCK_CYCLES.CACHE_LOCK_DURATION

Cycles when L1D is locked

LONGEST_LAT_CACHE.MISS

Core-originated cacheable demand requests missed L3

LONGEST_LAT_CACHE.REFERENCE

Core-originated cacheable demand requests that refer to L3

LSD.CYCLES_4_UOPS

Cycles 4 Uops delivered by the LSD, but didn't come from the decoder

LSD.CYCLES_ACTIVE

Cycles Uops delivered by the LSD, but didn't come from the decoder

LSD.UOPS

Number of Uops delivered by the LSD.

MACHINE_CLEARS.COUNT

Number of machine clears (nukes) of any type.

MACHINE_CLEARS.MEMORY_ORDERING

Counts the number of machine clears due to memory order conflicts.

MACHINE_CLEARS.SMC

Self-modifying code (SMC) detected.

MEM_INST_RETIRED.ALL_LOADS

Number of load instructions retired

MEM_INST_RETIRED.ALL_LOADS_PS

Number of load instructions retired

MEM_INST_RETIRED.ALL_STORES

Number of store instructions retired

MEM_INST_RETIRED.ALL_STORES_PS

Number of store instructions retired

MEM_INST_RETIRED.LOCK_LOADS

Number of lock load instructions retired

MEM_INST_RETIRED.LOCK_LOADS_PS

Number of lock load instructions retired

MEM_INST_RETIRED.SPLIT_LOADS

Number of load instructions retired with cache-line splits that may impact performance.

MEM_INST_RETIRED.SPLIT_LOADS_PS

Number of load instructions retired with cache-line splits that may impact performance. Precise Event.

MEM_INST_RETIRED.SPLIT_STORES

Number of store instructions retired with line-split

MEM_INST_RETIRED.SPLIT_STORES_PS

Number of store instructions retired with line-split

MEM_INST_RETIRED.STLB_MISS_LOADS

Number of load instructions retired with STLB miss

MEM_INST_RETIRED.STLB_MISS_LOADS_PS

Number of load instructions retired with STLB miss

MEM_INST_RETIRED.STLB_MISS_STORES

Number of store instructions retired with STLB miss

MEM_INST_RETIRED.STLB_MISS_STORES_PS

Number of store instructions retired with STLB miss

MEM_LOAD_L3_HIT_RETIRED.XSNP_HIT

Retired load instructions which data sources were L3 and cross-core snoop hits in on-pkg core cache

MEM_LOAD_L3_HIT_RETIRED.XSNP_HITM

Retired load instructions which data sources were HitM responses from shared L3

MEM_LOAD_L3_HIT_RETIRED.XSNP_HITM_PS

Retired load instructions which data sources were HitM responses from shared L3

MEM_LOAD_L3_HIT_RETIRED.XSNP_HIT_PS

Retired load instructions which data sources were L3 and cross-core snoop hits in on-pkg core cache

MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS

Retired load instructions which data sources were L3 hit and cross-core snoop missed in on-pkg core cache.

MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS_PS

Retired load instructions which data sources were L3 hit and cross-core snoop missed in on-pkg core cache.

MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE

Retired load instructions which data sources were hits in L3 without snoops required

MEM_LOAD_L3_HIT_RETIRED.XSNP_NONE_PS

Retired load instructions which data sources were hits in L3 without snoops required

MEM_LOAD_RETIRED.FB_HIT

Retired load instructions which data sources were load missed L1 but hit FB due to preceding miss to the same cache line with data not ready

MEM_LOAD_RETIRED.FB_HIT_PS

Retired load instructions which data sources were load missed L1 but hit FB due to preceding miss to the same cache line with data not ready

MEM_LOAD_RETIRED.L1_HIT

Retired load instructions with L1 cache hits as data sources

MEM_LOAD_RETIRED.L1_HIT_PS

Retired load instructions with L1 cache hits as data sources

MEM_LOAD_RETIRED.L1_MISS

Retired load instructions missed L1 cache as data sources

MEM_LOAD_RETIRED.L1_MISS_PS

Retired load instructions missed L1 cache as data sources

MEM_LOAD_RETIRED.L2_HIT

Retired load instructions with L2 cache hits as data sources

MEM_LOAD_RETIRED.L2_HIT_PS

Retired load instructions with L2 cache hits as data sources

MEM_LOAD_RETIRED.L2_MISS

Retired load instructions missed L2 cache as data sources

MEM_LOAD_RETIRED.L2_MISS_PS

Retired load instructions missed L2 cache as data sources

MEM_LOAD_RETIRED.L3_HIT

Retired load instructions with L3 cache hits as data sources

MEM_LOAD_RETIRED.L3_HIT_PS

Retired load instructions with L3 cache hits as data sources

MEM_LOAD_RETIRED.L3_MISS

Retired load instructions missed L3 cache as data sources

MEM_LOAD_RETIRED.L3_MISS_PS

Retired load instructions missed L3 cache as data sources

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_128

Counts loads when the latency from first dispatch to completion is greater than 128 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_16

Counts loads when the latency from first dispatch to completion is greater than 16 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_256

Counts loads when the latency from first dispatch to completion is greater than 256 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_32

Counts loads when the latency from first dispatch to completion is greater than 32 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_4

Counts loads when the latency from first dispatch to completion is greater than 4 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_512

Counts loads when the latency from first dispatch to completion is greater than 512 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_64

Counts loads when the latency from first dispatch to completion is greater than 64 cycles. Reported latency may be longer than just the memory latency.

MEM_TRANS_RETIRED.LOAD_LATENCY_GT_8

Counts loads when the latency from first dispatch to completion is greater than 8 cycles. Reported latency may be longer than just the memory latency.

OFFCORE_REQUESTS.ALL_DATA_RD

Demand and prefetch data reads

OFFCORE_REQUESTS.ALL_REQUESTS

Any memory transaction that reached the SQ.

OFFCORE_REQUESTS.DEMAND_CODE_RD

Cacheable and noncachaeble code read requests

OFFCORE_REQUESTS.DEMAND_DATA_RD

Demand Data Read requests sent to uncore

OFFCORE_REQUESTS.DEMAND_RFO

Demand RFO requests including regular RFOs, locks, ItoM

OFFCORE_REQUESTS.L3_MISS_DEMAND_DATA_RD

Demand Data Read requests who miss L3 cache

OFFCORE_REQUESTS_BUFFER.SQ_FULL

Offcore requests buffer cannot take more entries for this thread core.

OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD

Offcore outstanding cacheable Core Data Read transactions in SuperQueue (SQ), queue to uncore

OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DATA_RD

Cycles when offcore outstanding cacheable Core Data Read transactions are present in SuperQueue (SQ), queue to uncore

OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_CODE_RD

Cycles with offcore outstanding Code Reads transactions in the SuperQueue (SQ), queue to uncore, every cycle.

OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_DATA_RD

Cycles when offcore outstanding Demand Data Read transactions are present in SuperQueue (SQ), queue to uncore

OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_DEMAND_RFO

Offcore outstanding demand rfo reads transactions in SuperQueue (SQ), queue to uncore, every cycle

OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_L3_MISS_DEMAND_DATA_RD

Cycles with at least 1 Demand Data Read requests who miss L3 cache in the superQ

OFFCORE_REQUESTS_OUTSTANDING.DEMAND_CODE_RD

Cycles with offcore outstanding Code Reads transactions in the SuperQueue (SQ), queue to uncore, every cycle.

OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD

Offcore outstanding Demand Data Read transactions in uncore queue.

OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD_GE_6

Cycles with at least 6 offcore outstanding Demand Data Read transactions in uncore queue

OFFCORE_REQUESTS_OUTSTANDING.DEMAND_RFO

Offcore outstanding demand rfo reads transactions in SuperQueue (SQ), queue to uncore, every cycle

OFFCORE_REQUESTS_OUTSTANDING.L3_MISS_DEMAND_DATA_RD

Counts number of Offcore outstanding Demand Data Read requests who miss L3 cache in the superQ every cycle.

OFFCORE_REQUESTS_OUTSTANDING.L3_MISS_DEMAND_DATA_RD_GE_6

Cycles with at least 6 Demand Data Read requests who miss L3 cache in the superQ

OFFCORE_RESPONSE

Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction

OTHER_ASSISTS.ANY

Number of times a microcode assist is invoked by HW other than FP-assist. Examples include AD (page Access Dirty) and AVX* related assists.

RESOURCE_STALLS.ANY

Resource-related stall cycles

RESOURCE_STALLS.SB

Cycles stalled due to no store buffers available. (not including draining form sync).

RS_EVENTS.EMPTY_CYCLES

Cycles when Reservation Station (RS) is empty for the thread

RS_EVENTS.EMPTY_END

Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.

RTM_RETIRED.ABORTED

Number of times an RTM execution aborted due to any reasons (multiple categories may count as one).

RTM_RETIRED.ABORTED_PS

Number of times an RTM execution aborted due to any reasons (multiple categories may count as one).

RTM_RETIRED.ABORT_EVENTS

Number of times an RTM execution aborted due to none of the previous 4 categories (e.g. interrupt)

RTM_RETIRED.ABORT_MEM

Number of times an RTM execution aborted due to various memory events (e.g. read/write capacity and conflicts)

RTM_RETIRED.ABORT_MEMTYPE

Number of times an RTM execution aborted due to incompatible memory type

RTM_RETIRED.ABORT_TMR

Number of times an RTM execution aborted due to uncommon conditions.

RTM_RETIRED.ABORT_UNFRIENDLY

Number of times an RTM execution aborted due to HLE-unfriendly instructions

RTM_RETIRED.COMMIT

Number of times an RTM execution successfully committed

RTM_RETIRED.START

Number of times an RTM execution started.

TLB_FLUSH.DTLB_THREAD

DTLB flush attempts of the thread-specific entries

TLB_FLUSH.STLB_ANY

STLB flush attempts

TX_EXEC.MISC1

Counts the number of times a class of instructions that may cause a transactional abort was executed. Since this is the count of execution, it may not always cause a transactional abort.

TX_EXEC.MISC2

Counts the number of times a class of instructions (e.g., vzeroupper) that may cause a transactional abort was executed inside a transactional region

TX_EXEC.MISC3

Counts the number of times an instruction execution caused the transactional nest count supported to be exceeded

TX_EXEC.MISC4

Counts the number of times a XBEGIN instruction was executed inside an HLE transactional region.

TX_EXEC.MISC5

Counts the number of times an HLE XACQUIRE instruction was executed inside an RTM transactional region

TX_MEM.ABORT_CAPACITY

Number of times a transactional abort was signaled due to a data capacity limitation for transactional reads or writes.

TX_MEM.ABORT_CONFLICT

Number of times a transactional abort was signaled due to a data conflict on a transactionally accessed address

TX_MEM.ABORT_HLE_ELISION_BUFFER_MISMATCH

Number of times an HLE transactional execution aborted due to XRELEASE lock not satisfying the address and value requirements in the elision buffer

TX_MEM.ABORT_HLE_ELISION_BUFFER_NOT_EMPTY

Number of times an HLE transactional execution aborted due to NoAllocatedElisionBuffer being non-zero.

TX_MEM.ABORT_HLE_ELISION_BUFFER_UNSUPPORTED_ALIGNMENT

Number of times an HLE transactional execution aborted due to an unsupported read alignment from the elision buffer.

TX_MEM.ABORT_HLE_STORE_TO_ELIDED_LOCK

Number of times a HLE transactional region aborted due to a non XRELEASE prefixed instruction writing to an elided lock in the elision buffer

TX_MEM.HLE_ELISION_BUFFER_FULL

Number of times HLE lock could not be elided due to ElisionBufferAvailable being zero.

UOPS_DISPATCHED_PORT.PORT_0

Cycles per thread when uops are executed in port 0

UOPS_DISPATCHED_PORT.PORT_1

Cycles per thread when uops are executed in port 1

UOPS_DISPATCHED_PORT.PORT_2

Cycles per thread when uops are executed in port 2

UOPS_DISPATCHED_PORT.PORT_3

Cycles per thread when uops are executed in port 3

UOPS_DISPATCHED_PORT.PORT_4

Cycles per thread when uops are executed in port 4

UOPS_DISPATCHED_PORT.PORT_5

Cycles per thread when uops are executed in port 5

UOPS_DISPATCHED_PORT.PORT_6

Cycles per thread when uops are executed in port 6

UOPS_DISPATCHED_PORT.PORT_7

Cycles per thread when uops are executed in port 7

UOPS_EXECUTED.CORE

Number of uops executed on the core.

UOPS_EXECUTED.CORE_CYCLES_GE_1

Cycles at least 1 micro-op is executed from any thread on physical core

UOPS_EXECUTED.CORE_CYCLES_GE_2

Cycles at least 2 micro-op is executed from any thread on physical core

UOPS_EXECUTED.CORE_CYCLES_GE_3

Cycles at least 3 micro-op is executed from any thread on physical core

UOPS_EXECUTED.CORE_CYCLES_GE_4

Cycles at least 4 micro-op is executed from any thread on physical core

UOPS_EXECUTED.CORE_CYCLES_NONE

Cycles with no micro-ops executed from any thread on physical core

UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC

Cycles where at least 1 uop was executed per-thread

UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC

Cycles where at least 2 uops were executed per-thread

UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC

Cycles where at least 3 uops were executed per-thread

UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC

Cycles where at least 4 uops were executed per-thread

UOPS_EXECUTED.STALL_CYCLES

Counts number of cycles no uops were dispatched to be executed on this thread.

UOPS_EXECUTED.THREAD

Counts the number of uops to be executed per-thread each cycle.

UOPS_EXECUTED.X87

Counts the number of x87 uops dispatched.

UOPS_ISSUED.ANY

Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)

UOPS_ISSUED.SLOW_LEA

Number of slow LEA uops being allocated. A uop is generally considered SlowLea if it has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.

UOPS_ISSUED.STALL_CYCLES

Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread

UOPS_ISSUED.VECTOR_WIDTH_MISMATCH

This event counts the number of Blend Uops issued by the Resource Allocation Table (RAT) to the reservation station (RS) in order to preserve upper bits of vector registers. Starting the Skylake microarchitecture, these Blend uops are needed since every Intel SSE instruction executed in Dirty Upper State needs to preserve bits 128-255 of the destination register. For more information, refer to ?Mixing Intel AVX and Intel SSE Code? section of the Optimization Guide.

UOPS_RETIRED.RETIRE_SLOTS

Retirement slots used.

UOPS_RETIRED.STALL_CYCLES

Cycles without actually retired uops.

UOPS_RETIRED.TOTAL_CYCLES

Cycles with less than 10 actually retired uops.