16c00db4bb
Pull AFS fixes from David Howells: "Here's a set of patches that fix a number of bugs in the in-kernel AFS client, including: - Fix directory locking to not use individual page locks for directory reading/scanning but rather to use a semaphore on the afs_vnode struct as the directory contents must be read in a single blob and data from different reads must not be mixed as the entire contents may be shuffled about between reads. - Fix address list parsing to handle port specifiers correctly. - Only give up callback records on a server if we actually talked to that server (we might not be able to access a server). - Fix some callback handling bugs, including refcounting, whole-volume callbacks and when callbacks actually get broken in response to a CB.CallBack op. - Fix some server/address rotation bugs, including giving up if we can't probe a server; giving up if a server says it doesn't have a volume, but there are more servers to try. - Fix the decoding of fetched statuses to be OpenAFS compatible. - Fix the handling of server lookups in Cache Manager ops (such as CB.InitCallBackState3) to use a UUID if possible and to handle no server being found. - Fix a bug in server lookup where not all addresses are compared. - Fix the non-encryption of calls that prevents some servers from being accessed (this also requires an AF_RXRPC patch that has already gone in through the net tree). There's also a patch that adds tracepoints to log Cache Manager ops that don't find a matching server, either by UUID or by address" * tag 'afs-fixes-20180514' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: afs: Fix the non-encryption of calls afs: Fix CB.CallBack handling afs: Fix whole-volume callback handling afs: Fix afs_find_server search loop afs: Fix the handling of an unfound server in CM operations afs: Add a tracepoint to record callbacks from unlisted servers afs: Fix the handling of CB.InitCallBackState3 to find the server by UUID afs: Fix VNOVOL handling in address rotation afs: Fix AFSFetchStatus decoder to provide OpenAFS compatibility afs: Fix server rotation's handling of fileserver probe failure afs: Fix refcounting in callback registration afs: Fix giving up callbacks on server destruction afs: Fix address list parsing afs: Fix directory page locking
1309 lines
No EOL
50 KiB
JSON
1309 lines
No EOL
50 KiB
JSON
[
|
|
{
|
|
"EventCode": "0x00",
|
|
"Counter": "Fixed counter 0",
|
|
"UMask": "0x1",
|
|
"EventName": "INST_RETIRED.ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Instructions retired from execution.",
|
|
"CounterHTOff": "Fixed counter 0"
|
|
},
|
|
{
|
|
"EventCode": "0x00",
|
|
"Counter": "Fixed counter 1",
|
|
"UMask": "0x2",
|
|
"EventName": "CPU_CLK_UNHALTED.THREAD",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Core cycles when the thread is not in halt state.",
|
|
"CounterHTOff": "Fixed counter 1"
|
|
},
|
|
{
|
|
"PublicDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
|
|
"EventCode": "0x00",
|
|
"Counter": "Fixed counter 1",
|
|
"UMask": "0x2",
|
|
"AnyThread": "1",
|
|
"EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state",
|
|
"CounterHTOff": "Fixed counter 1"
|
|
},
|
|
{
|
|
"EventCode": "0x00",
|
|
"Counter": "Fixed counter 2",
|
|
"UMask": "0x3",
|
|
"EventName": "CPU_CLK_UNHALTED.REF_TSC",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Reference cycles when the core is not in halt state.",
|
|
"CounterHTOff": "Fixed counter 2"
|
|
},
|
|
{
|
|
"PublicDescription": "Loads blocked by overlapping with store buffer that cannot be forwarded.",
|
|
"EventCode": "0x03",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "LD_BLOCKS.STORE_FORWARD",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Cases when loads get true Block-on-Store blocking code preventing store forwarding",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
|
|
"EventCode": "0x03",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x8",
|
|
"EventName": "LD_BLOCKS.NO_SR",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "This event counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "False dependencies in MOB due to partial compare on address.",
|
|
"EventCode": "0x07",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "False dependencies in MOB due to partial compare on address",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x0D",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x3",
|
|
"EventName": "INT_MISC.RECOVERY_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of cycles waiting for the checkpoints in Resource Allocation Table (RAT) to be recovered after Nuke due to all other cases except JEClear (e.g. whenever a ucode assist is needed like SSE exception, memory disambiguation, etc.)",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x0D",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x3",
|
|
"EdgeDetect": "1",
|
|
"EventName": "INT_MISC.RECOVERY_STALLS_COUNT",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of occurences waiting for the checkpoints in Resource Allocation Table (RAT) to be recovered after Nuke due to all other cases except JEClear (e.g. whenever a ucode assist is needed like SSE exception, memory disambiguation, etc.)",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x0D",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x3",
|
|
"AnyThread": "1",
|
|
"EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "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).",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Increments each cycle the # of Uops issued by the RAT to RS. Set Cmask = 1, Inv = 1, Any= 1to count stalled cycles of this core.",
|
|
"EventCode": "0x0E",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_ISSUED.ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread.",
|
|
"EventCode": "0x0E",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_ISSUED.STALL_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for all threads.",
|
|
"EventCode": "0x0E",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_ISSUED.CORE_STALL_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for all threads",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of flags-merge uops allocated. Such uops adds delay.",
|
|
"EventCode": "0x0E",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x10",
|
|
"EventName": "UOPS_ISSUED.FLAGS_MERGE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of flags-merge uops being allocated.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of slow LEA or similar uops allocated. Such uop has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.",
|
|
"EventCode": "0x0E",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x20",
|
|
"EventName": "UOPS_ISSUED.SLOW_LEA",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "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.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of multiply packed/scalar single precision uops allocated.",
|
|
"EventCode": "0x0E",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x40",
|
|
"EventName": "UOPS_ISSUED.SINGLE_MUL",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of Multiply packed/scalar single precision uops allocated",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles that the divider is active, includes INT and FP. Set 'edge =1, cmask=1' to count the number of divides.",
|
|
"EventCode": "0x14",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "ARITH.FPU_DIV_ACTIVE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles when divider is busy executing divide operations",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Divide operations executed.",
|
|
"EventCode": "0x14",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EdgeDetect": "1",
|
|
"EventName": "ARITH.FPU_DIV",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Divide operations executed",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts the number of thread cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. The core frequency may change from time to time due to power or thermal throttling.",
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x0",
|
|
"EventName": "CPU_CLK_UNHALTED.THREAD_P",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Thread cycles when thread is not in halt state",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x0",
|
|
"AnyThread": "1",
|
|
"EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Increments at the frequency of XCLK (100 MHz) when not halted.",
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"AnyThread": "1",
|
|
"EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted. (counts at 100 MHz rate)",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Reference cycles when the thread is unhalted. (counts at 100 MHz rate)",
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "CPU_CLK_UNHALTED.REF_XCLK",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"AnyThread": "1",
|
|
"EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted. (counts at 100 MHz rate)",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Count XClk pulses when this thread is unhalted and the other is halted.",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0x3C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch.",
|
|
"EventCode": "0x4C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "LOAD_HIT_PRE.SW_PF",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch.",
|
|
"EventCode": "0x4C",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "LOAD_HIT_PRE.HW_PF",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x58",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "MOVE_ELIMINATION.INT_ELIMINATED",
|
|
"SampleAfterValue": "1000003",
|
|
"BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x58",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED",
|
|
"SampleAfterValue": "1000003",
|
|
"BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x58",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED",
|
|
"SampleAfterValue": "1000003",
|
|
"BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x58",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x8",
|
|
"EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED",
|
|
"SampleAfterValue": "1000003",
|
|
"BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles the RS is empty for the thread.",
|
|
"EventCode": "0x5E",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "RS_EVENTS.EMPTY_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x5E",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EdgeDetect": "1",
|
|
"EventName": "RS_EVENTS.EMPTY_END",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x87",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "ILD_STALL.LCP",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Stalls caused by changing prefix length of the instruction.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Stall cycles due to IQ is full.",
|
|
"EventCode": "0x87",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "ILD_STALL.IQ_FULL",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Stall cycles because IQ is full",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Not taken macro-conditional branches.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x41",
|
|
"EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Not taken macro-conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired macro-conditional branches.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x81",
|
|
"EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired macro-conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x82",
|
|
"EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired indirect branches excluding calls and returns.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x84",
|
|
"EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired indirect branches with return mnemonic.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x88",
|
|
"EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired indirect branches with return mnemonic",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired direct near calls.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x90",
|
|
"EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired direct near calls",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired indirect calls.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xa0",
|
|
"EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired indirect calls",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Speculative and retired macro-conditional branches.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc1",
|
|
"EventName": "BR_INST_EXEC.ALL_CONDITIONAL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired macro-conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc2",
|
|
"EventName": "BR_INST_EXEC.ALL_DIRECT_JMP",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Speculative and retired indirect branches excluding calls and returns.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc4",
|
|
"EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired indirect branches excluding calls and returns",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc8",
|
|
"EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired indirect return branches.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Speculative and retired direct near calls.",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xd0",
|
|
"EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired direct near calls",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts all near executed branches (not necessarily retired).",
|
|
"EventCode": "0x88",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xff",
|
|
"EventName": "BR_INST_EXEC.ALL_BRANCHES",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Not taken speculative and retired mispredicted macro conditional branches.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x41",
|
|
"EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired mispredicted macro conditional branches.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x81",
|
|
"EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired mispredicted macro conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x84",
|
|
"EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x88",
|
|
"EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Taken speculative and retired mispredicted indirect calls.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xa0",
|
|
"EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Taken speculative and retired mispredicted indirect calls",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Speculative and retired mispredicted macro conditional branches.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc1",
|
|
"EventName": "BR_MISP_EXEC.ALL_CONDITIONAL",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired mispredicted macro conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Mispredicted indirect branches excluding calls and returns.",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc4",
|
|
"EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Mispredicted indirect branches excluding calls and returns",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts all near executed branches (not necessarily retired).",
|
|
"EventCode": "0x89",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xff",
|
|
"EventName": "BR_MISP_EXEC.ALL_BRANCHES",
|
|
"SampleAfterValue": "200003",
|
|
"BriefDescription": "Speculative and retired mispredicted macro conditional branches",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles which a Uop is dispatched on port 0.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_0",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per thread when uops are dispatched to port 0",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles per core when uops are dispatched to port 0.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_0_CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per core when uops are dispatched to port 0",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles which a Uop is dispatched on port 1.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_1",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per thread when uops are dispatched to port 1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles per core when uops are dispatched to port 1.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_1_CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per core when uops are dispatched to port 1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles which a Uop is dispatched on port 2.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_2",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per thread when load or STA uops are dispatched to port 2",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0xc",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_2_CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Uops dispatched to port 2, loads and stores per core (speculative and retired).",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles which a Uop is dispatched on port 3.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x30",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_3",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per thread when load or STA uops are dispatched to port 3",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles per core when load or STA uops are dispatched to port 3.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x30",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_3_CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per core when load or STA uops are dispatched to port 3",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles which a Uop is dispatched on port 4.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x40",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_4",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per thread when uops are dispatched to port 4",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles per core when uops are dispatched to port 4.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x40",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_4_CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per core when uops are dispatched to port 4",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles which a Uop is dispatched on port 5.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x80",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_5",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per thread when uops are dispatched to port 5",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles per core when uops are dispatched to port 5.",
|
|
"EventCode": "0xA1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x80",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_DISPATCHED_PORT.PORT_5_CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles per core when uops are dispatched to port 5",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles Allocation is stalled due to Resource Related reason.",
|
|
"EventCode": "0xA2",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "RESOURCE_STALLS.ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Resource-related stall cycles",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xA2",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "RESOURCE_STALLS.RS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles stalled due to no eligible RS entry available.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles stalled due to no store buffers available (not including draining form sync).",
|
|
"EventCode": "0xA2",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x8",
|
|
"EventName": "RESOURCE_STALLS.SB",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xA2",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x10",
|
|
"EventName": "RESOURCE_STALLS.ROB",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles stalled due to re-order buffer full.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles with pending L2 miss loads. Set AnyThread to count per core.",
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles with pending L2 cache miss loads.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles while L2 cache miss load* is outstanding.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles with pending memory loads. Set AnyThread to count per core.",
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles with pending memory loads.",
|
|
"CounterMask": "2",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles while memory subsystem has an outstanding load.",
|
|
"CounterMask": "2",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PublicDescription": "Total execution stalls.",
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "This event increments by 1 for every cycle where there was no execute for this thread.",
|
|
"CounterMask": "4",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Total execution stalls.",
|
|
"CounterMask": "4",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of loads missed L2.",
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x5",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Execution stalls due to L2 cache misses.",
|
|
"CounterMask": "5",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x5",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Execution stalls while L2 cache miss load* is outstanding.",
|
|
"CounterMask": "5",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x6",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Execution stalls due to memory subsystem.",
|
|
"CounterMask": "6",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x6",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
|
|
"CounterMask": "6",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles with pending L1 cache miss loads. Set AnyThread to count per core.",
|
|
"EventCode": "0xA3",
|
|
"Counter": "2",
|
|
"UMask": "0x8",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles with pending L1 cache miss loads.",
|
|
"CounterMask": "8",
|
|
"CounterHTOff": "2"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "2",
|
|
"UMask": "0x8",
|
|
"EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
|
|
"CounterMask": "8",
|
|
"CounterHTOff": "2"
|
|
},
|
|
{
|
|
"PublicDescription": "Execution stalls due to L1 data cache miss loads. Set Cmask=0CH.",
|
|
"EventCode": "0xA3",
|
|
"Counter": "2",
|
|
"UMask": "0xc",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Execution stalls due to L1 data cache misses",
|
|
"CounterMask": "12",
|
|
"CounterHTOff": "2"
|
|
},
|
|
{
|
|
"EventCode": "0xA3",
|
|
"Counter": "2",
|
|
"UMask": "0xc",
|
|
"EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
|
|
"CounterMask": "12",
|
|
"CounterHTOff": "2"
|
|
},
|
|
{
|
|
"EventCode": "0xA8",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "LSD.UOPS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of Uops delivered by the LSD.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
|
|
"EventCode": "0xA8",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "LSD.CYCLES_ACTIVE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
|
|
"EventCode": "0xA8",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "LSD.CYCLES_4_UOPS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder",
|
|
"CounterMask": "4",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts total number of uops to be executed per-thread each cycle. Set Cmask = 1, INV =1 to count stall cycles.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_EXECUTED.THREAD",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xB1",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_EXECUTED.STALL_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles where at least 1 uop was executed per-thread",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles where at least 2 uops were executed per-thread",
|
|
"CounterMask": "2",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles where at least 3 uops were executed per-thread",
|
|
"CounterMask": "3",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles where at least 4 uops were executed per-thread",
|
|
"CounterMask": "4",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts total number of uops to be executed per-core each cycle.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_EXECUTED.CORE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of uops executed on the core.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core",
|
|
"CounterMask": "2",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core",
|
|
"CounterMask": "3",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
|
|
"EventCode": "0xB1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core",
|
|
"CounterMask": "4",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Cycles with no micro-ops executed from any thread on physical core.",
|
|
"EventCode": "0xB1",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles with no micro-ops executed from any thread on physical core",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of instructions at retirement.",
|
|
"EventCode": "0xC0",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x0",
|
|
"EventName": "INST_RETIRED.ANY_P",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Number of instructions retired. General Counter - architectural event",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "2",
|
|
"PublicDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution.",
|
|
"EventCode": "0xC0",
|
|
"Counter": "1",
|
|
"UMask": "0x1",
|
|
"EventName": "INST_RETIRED.PREC_DIST",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
|
|
"CounterHTOff": "1"
|
|
},
|
|
{
|
|
"EventCode": "0xC1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x80",
|
|
"EventName": "OTHER_ASSISTS.ANY_WB_ASSIST",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC2",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_RETIRED.ALL",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Retired uops.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xC2",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_RETIRED.STALL_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles without actually retired uops.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xC2",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "UOPS_RETIRED.TOTAL_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles with less than 10 actually retired uops.",
|
|
"CounterMask": "10",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"EventCode": "0xC2",
|
|
"Invert": "1",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"AnyThread": "1",
|
|
"EventName": "UOPS_RETIRED.CORE_STALL_CYCLES",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Cycles without actually retired uops.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC2",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "UOPS_RETIRED.RETIRE_SLOTS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Retirement slots used.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"EventCode": "0xC3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EdgeDetect": "1",
|
|
"EventName": "MACHINE_CLEARS.COUNT",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Number of machine clears (nukes) of any type.",
|
|
"CounterMask": "1",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of self-modifying-code machine clears detected.",
|
|
"EventCode": "0xC3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "MACHINE_CLEARS.SMC",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "Self-modifying code (SMC) detected.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts the number of executed AVX masked load operations that refer to an illegal address range with the mask bits set to 0.",
|
|
"EventCode": "0xC3",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x20",
|
|
"EventName": "MACHINE_CLEARS.MASKMOV",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "This event counts the number of executed Intel AVX masked load operations that refer to an illegal address range with the mask bits set to 0.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Branch instructions at retirement.",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x0",
|
|
"EventName": "BR_INST_RETIRED.ALL_BRANCHES",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "All (macro) branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "BR_INST_RETIRED.CONDITIONAL",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "Conditional branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "BR_INST_RETIRED.NEAR_CALL",
|
|
"SampleAfterValue": "100007",
|
|
"BriefDescription": "Direct and indirect near call instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x2",
|
|
"EventName": "BR_INST_RETIRED.NEAR_CALL_R3",
|
|
"SampleAfterValue": "100007",
|
|
"BriefDescription": "Direct and indirect macro near call instructions retired (captured in ring 3).",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "2",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "All (macro) branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x8",
|
|
"EventName": "BR_INST_RETIRED.NEAR_RETURN",
|
|
"SampleAfterValue": "100007",
|
|
"BriefDescription": "Return instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Counts the number of not taken branch instructions retired.",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x10",
|
|
"EventName": "BR_INST_RETIRED.NOT_TAKEN",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "Not taken branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x20",
|
|
"EventName": "BR_INST_RETIRED.NEAR_TAKEN",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "Taken branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of far branches retired.",
|
|
"EventCode": "0xC4",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x40",
|
|
"EventName": "BR_INST_RETIRED.FAR_BRANCH",
|
|
"SampleAfterValue": "100007",
|
|
"BriefDescription": "Far branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Mispredicted branch instructions at retirement.",
|
|
"EventCode": "0xC5",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x0",
|
|
"EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "All mispredicted macro branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC5",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1",
|
|
"EventName": "BR_MISP_RETIRED.CONDITIONAL",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "Mispredicted conditional branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PEBS": "2",
|
|
"EventCode": "0xC5",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x4",
|
|
"EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "Mispredicted macro branch instructions retired.",
|
|
"CounterHTOff": "0,1,2,3"
|
|
},
|
|
{
|
|
"PEBS": "1",
|
|
"EventCode": "0xC5",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x20",
|
|
"EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
|
|
"SampleAfterValue": "400009",
|
|
"BriefDescription": "number of near branch instructions retired that were mispredicted and taken.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Count cases of saving new LBR records by hardware.",
|
|
"EventCode": "0xCC",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x20",
|
|
"EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
|
|
"SampleAfterValue": "2000003",
|
|
"BriefDescription": "Count cases of saving new LBR",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
},
|
|
{
|
|
"PublicDescription": "Number of front end re-steers due to BPU misprediction.",
|
|
"EventCode": "0xE6",
|
|
"Counter": "0,1,2,3",
|
|
"UMask": "0x1f",
|
|
"EventName": "BACLEARS.ANY",
|
|
"SampleAfterValue": "100003",
|
|
"BriefDescription": "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.",
|
|
"CounterHTOff": "0,1,2,3,4,5,6,7"
|
|
}
|
|
] |