perf vendor events intel: Refresh goldmont events
Update the goldmont events using the new tooling from: https://github.com/intel/perfmon The events are unchanged but unused json values are removed. This increases consistency across the json files. Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Kan Liang <kan.liang@linux.intel.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Caleb Biggers <caleb.biggers@intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: John Garry <john.g.garry@oracle.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Perry Taylor <perry.taylor@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com> Link: https://lore.kernel.org/r/20221215065510.1621979-2-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
5cebe49ce8
commit
387bc79f83
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,6 @@
|
||||
[
|
||||
{
|
||||
"BriefDescription": "Cycles the FP divide unit is busy",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCD",
|
||||
"EventName": "CYCLES_DIV_BUSY.FPDIV",
|
||||
"PublicDescription": "Counts core cycles the floating point divide unit is busy.",
|
||||
@ -11,8 +9,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Machine clears due to FP assists",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC3",
|
||||
"EventName": "MACHINE_CLEARS.FP_ASSIST",
|
||||
"PublicDescription": "Counts machine clears due to floating point (FP) operations needing assists. For instance, if the result was a floating point denormal, the hardware clears the pipeline and reissues uops to produce the correct IEEE compliant denormal result.",
|
||||
@ -21,8 +17,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Floating point divide uops retired. (Precise Event Capable)",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC2",
|
||||
"EventName": "UOPS_RETIRED.FPDIV",
|
||||
"PEBS": "2",
|
||||
|
@ -1,8 +1,6 @@
|
||||
[
|
||||
{
|
||||
"BriefDescription": "BACLEARs asserted for any branch type",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xE6",
|
||||
"EventName": "BACLEARS.ALL",
|
||||
"PublicDescription": "Counts the number of times a BACLEAR is signaled for any reason, including, but not limited to indirect branch/call, Jcc (Jump on Conditional Code/Jump if Condition is Met) branch, unconditional branch/call, and returns.",
|
||||
@ -11,8 +9,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "BACLEARs asserted for conditional branch",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xE6",
|
||||
"EventName": "BACLEARS.COND",
|
||||
"PublicDescription": "Counts BACLEARS on Jcc (Jump on Conditional Code/Jump if Condition is Met) branches.",
|
||||
@ -21,8 +17,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "BACLEARs asserted for return branch",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xE6",
|
||||
"EventName": "BACLEARS.RETURN",
|
||||
"PublicDescription": "Counts BACLEARS on return instructions.",
|
||||
@ -31,8 +25,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Decode restrictions due to predicting wrong instruction length",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xE9",
|
||||
"EventName": "DECODE_RESTRICTION.PREDECODE_WRONG",
|
||||
"PublicDescription": "Counts the number of times the prediction (from the predecode cache) for instruction length is incorrect.",
|
||||
@ -41,8 +33,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "References per ICache line. This event counts differently than Intel processors based on Silvermont microarchitecture",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x80",
|
||||
"EventName": "ICACHE.ACCESSES",
|
||||
"PublicDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes in an ICache Line. The event strives to count on a cache line basis, so that multiple fetches to a single cache line count as one ICACHE.ACCESS. Specifically, the event counts when accesses from straight line code crosses the cache line boundary, or when a branch target is to a new line.\r\nThis event counts differently than Intel processors based on Silvermont microarchitecture.",
|
||||
@ -51,8 +41,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "References per ICache line that are available in the ICache (hit). This event counts differently than Intel processors based on Silvermont microarchitecture",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x80",
|
||||
"EventName": "ICACHE.HIT",
|
||||
"PublicDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes in an ICache Line and that cache line is in the ICache (hit). The event strives to count on a cache line basis, so that multiple accesses which hit in a single cache line count as one ICACHE.HIT. Specifically, the event counts when straight line code crosses the cache line boundary, or when a branch target is to a new line, and that cache line is in the ICache. This event counts differently than Intel processors based on Silvermont microarchitecture.",
|
||||
@ -61,8 +49,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "References per ICache line that are not available in the ICache (miss). This event counts differently than Intel processors based on Silvermont microarchitecture",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x80",
|
||||
"EventName": "ICACHE.MISSES",
|
||||
"PublicDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes in an ICache Line and that cache line is not in the ICache (miss). The event strives to count on a cache line basis, so that multiple accesses which miss in a single cache line count as one ICACHE.MISS. Specifically, the event counts when straight line code crosses the cache line boundary, or when a branch target is to a new line, and that cache line is not in the ICache. This event counts differently than Intel processors based on Silvermont microarchitecture.",
|
||||
@ -71,8 +57,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "MS decode starts",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xE7",
|
||||
"EventName": "MS_DECODED.MS_ENTRY",
|
||||
"PublicDescription": "Counts the number of times the Microcode Sequencer (MS) starts a flow of uops from the MSROM. It does not count every time a uop is read from the MSROM. The most common case that this counts is when a micro-coded instruction is encountered by the front end of the machine. Other cases include when an instruction encounters a fault, trap, or microcode assist of any sort that initiates a flow of uops. The event will count MS startups for uops that are speculative, and subsequently cleared by branch mispredict or a machine clear.",
|
||||
|
@ -1,8 +1,6 @@
|
||||
[
|
||||
{
|
||||
"BriefDescription": "Machine clears due to memory ordering issue",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC3",
|
||||
"EventName": "MACHINE_CLEARS.MEMORY_ORDERING",
|
||||
"PublicDescription": "Counts machine clears due to memory ordering issues. This occurs when a snoop request happens and the machine is uncertain if memory ordering will be preserved as another core is in the process of modifying the data.",
|
||||
@ -11,8 +9,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Load uops that split a page (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x13",
|
||||
"EventName": "MISALIGN_MEM_REF.LOAD_PAGE_SPLIT",
|
||||
"PEBS": "2",
|
||||
@ -22,8 +18,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Store uops that split a page (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x13",
|
||||
"EventName": "MISALIGN_MEM_REF.STORE_PAGE_SPLIT",
|
||||
"PEBS": "2",
|
||||
|
@ -1,8 +1,6 @@
|
||||
[
|
||||
{
|
||||
"BriefDescription": "Cycles code-fetch stalled due to any reason.",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x86",
|
||||
"EventName": "FETCH_STALL.ALL",
|
||||
"PublicDescription": "Counts cycles that fetch is stalled due to any reason. That is, the decoder queue is able to accept bytes, but the fetch unit is unable to provide bytes. This will include cycles due to an ITLB miss, ICache miss and other events.",
|
||||
@ -10,8 +8,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Cycles code-fetch stalled due to an outstanding ITLB miss.",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x86",
|
||||
"EventName": "FETCH_STALL.ITLB_FILL_PENDING_CYCLES",
|
||||
"PublicDescription": "Counts cycles that fetch is stalled due to an outstanding ITLB miss. That is, the decoder queue is able to accept bytes, but the fetch unit is unable to provide bytes due to an ITLB miss. Note: this event is not the same as page walk cycles to retrieve an instruction translation.",
|
||||
@ -20,8 +16,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Cycles hardware interrupts are masked",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCB",
|
||||
"EventName": "HW_INTERRUPTS.MASKED",
|
||||
"PublicDescription": "Counts the number of core cycles during which interrupts are masked (disabled). Increments by 1 each core cycle that EFLAGS.IF is 0, regardless of whether interrupts are pending or not.",
|
||||
@ -30,8 +24,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Cycles pending interrupts are masked",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCB",
|
||||
"EventName": "HW_INTERRUPTS.PENDING_AND_MASKED",
|
||||
"PublicDescription": "Counts core cycles during which there are pending interrupts, but interrupts are masked (EFLAGS.IF = 0).",
|
||||
@ -40,8 +32,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Hardware interrupts received",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCB",
|
||||
"EventName": "HW_INTERRUPTS.RECEIVED",
|
||||
"PublicDescription": "Counts hardware interrupts received by the processor.",
|
||||
|
@ -1,8 +1,6 @@
|
||||
[
|
||||
{
|
||||
"BriefDescription": "Retired branch instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.ALL_BRANCHES",
|
||||
"PEBS": "2",
|
||||
@ -11,8 +9,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired taken branch instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.ALL_TAKEN_BRANCHES",
|
||||
"PEBS": "2",
|
||||
@ -22,8 +18,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired near call instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.CALL",
|
||||
"PEBS": "2",
|
||||
@ -33,8 +27,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired far branch instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.FAR_BRANCH",
|
||||
"PEBS": "2",
|
||||
@ -44,8 +36,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired near indirect call instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.IND_CALL",
|
||||
"PEBS": "2",
|
||||
@ -55,8 +45,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired conditional branch instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.JCC",
|
||||
"PEBS": "2",
|
||||
@ -66,8 +54,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired instructions of near indirect Jmp or call (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.NON_RETURN_IND",
|
||||
"PEBS": "2",
|
||||
@ -77,8 +63,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired near relative call instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.REL_CALL",
|
||||
"PEBS": "2",
|
||||
@ -88,8 +72,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired near return instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.RETURN",
|
||||
"PEBS": "2",
|
||||
@ -99,8 +81,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired conditional branch instructions that were taken (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC4",
|
||||
"EventName": "BR_INST_RETIRED.TAKEN_JCC",
|
||||
"PEBS": "2",
|
||||
@ -110,8 +90,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired mispredicted branch instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC5",
|
||||
"EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
|
||||
"PEBS": "2",
|
||||
@ -120,8 +98,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired mispredicted near indirect call instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC5",
|
||||
"EventName": "BR_MISP_RETIRED.IND_CALL",
|
||||
"PEBS": "2",
|
||||
@ -131,8 +107,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired mispredicted conditional branch instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC5",
|
||||
"EventName": "BR_MISP_RETIRED.JCC",
|
||||
"PEBS": "2",
|
||||
@ -142,8 +116,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired mispredicted instructions of near indirect Jmp or near indirect call. (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC5",
|
||||
"EventName": "BR_MISP_RETIRED.NON_RETURN_IND",
|
||||
"PEBS": "2",
|
||||
@ -153,8 +125,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired mispredicted near return instructions (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC5",
|
||||
"EventName": "BR_MISP_RETIRED.RETURN",
|
||||
"PEBS": "2",
|
||||
@ -164,8 +134,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Retired mispredicted conditional branch instructions that were taken (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC5",
|
||||
"EventName": "BR_MISP_RETIRED.TAKEN_JCC",
|
||||
"PEBS": "2",
|
||||
@ -175,7 +143,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Core cycles when core is not halted (Fixed event)",
|
||||
"Counter": "Fixed counter 1",
|
||||
"EventName": "CPU_CLK_UNHALTED.CORE",
|
||||
"PublicDescription": "Counts the number of core cycles while the core is not in a halt state. The core enters the halt state when it is running the HLT instruction. In mobile systems the core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time. This event uses fixed counter 1. You cannot collect a PEBs record for this event.",
|
||||
"SampleAfterValue": "2000003",
|
||||
@ -183,8 +150,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Core cycles when core is not halted",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x3C",
|
||||
"EventName": "CPU_CLK_UNHALTED.CORE_P",
|
||||
"PublicDescription": "Core cycles when core is not halted. This event uses a (_P)rogrammable general purpose performance counter.",
|
||||
@ -192,8 +157,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Reference cycles when core is not halted",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x3C",
|
||||
"EventName": "CPU_CLK_UNHALTED.REF",
|
||||
"PublicDescription": "Reference cycles when core is not halted. This event uses a programmable general purpose performance counter.",
|
||||
@ -202,7 +165,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Reference cycles when core is not halted (Fixed event)",
|
||||
"Counter": "Fixed counter 2",
|
||||
"EventName": "CPU_CLK_UNHALTED.REF_TSC",
|
||||
"PublicDescription": "Counts the number of reference cycles that the core is not in a halt state. The core enters the halt state when it is running the HLT instruction. In mobile systems the core frequency may change from time. This event is not affected by core frequency changes but counts as if the core is running at the maximum frequency all the time. This event uses fixed counter 2. You cannot collect a PEBs record for this event.",
|
||||
"SampleAfterValue": "2000003",
|
||||
@ -210,8 +172,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Cycles a divider is busy",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCD",
|
||||
"EventName": "CYCLES_DIV_BUSY.ALL",
|
||||
"PublicDescription": "Counts core cycles if either divide unit is busy.",
|
||||
@ -219,8 +179,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Cycles the integer divide unit is busy",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCD",
|
||||
"EventName": "CYCLES_DIV_BUSY.IDIV",
|
||||
"PublicDescription": "Counts core cycles the integer divide unit is busy.",
|
||||
@ -229,7 +187,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Instructions retired (Fixed event)",
|
||||
"Counter": "Fixed counter 0",
|
||||
"EventName": "INST_RETIRED.ANY",
|
||||
"PublicDescription": "Counts the number of instructions that retire execution. For instructions that consist of multiple uops, this event counts the retirement of the last uop of the instruction. The counter continues counting during hardware interrupts, traps, and inside interrupt handlers. This event uses fixed counter 0. You cannot collect a PEBs record for this event.",
|
||||
"SampleAfterValue": "2000003",
|
||||
@ -237,8 +194,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Instructions retired (Precise event capable)",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC0",
|
||||
"EventName": "INST_RETIRED.ANY_P",
|
||||
"PEBS": "2",
|
||||
@ -247,8 +202,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Unfilled issue slots per cycle",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCA",
|
||||
"EventName": "ISSUE_SLOTS_NOT_CONSUMED.ANY",
|
||||
"PublicDescription": "Counts the number of issue slots per core cycle that were not consumed by the backend due to either a full resource in the backend (RESOURCE_FULL) or due to the processor recovering from some event (RECOVERY).",
|
||||
@ -256,8 +209,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Unfilled issue slots per cycle to recover",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCA",
|
||||
"EventName": "ISSUE_SLOTS_NOT_CONSUMED.RECOVERY",
|
||||
"PublicDescription": "Counts the number of issue slots per core cycle that were not consumed by the backend because allocation is stalled waiting for a mispredicted jump to retire or other branch-like conditions (e.g. the event is relevant during certain microcode flows). Counts all issue slots blocked while within this window including slots where uops were not available in the Instruction Queue.",
|
||||
@ -266,8 +217,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Unfilled issue slots per cycle because of a full resource in the backend",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xCA",
|
||||
"EventName": "ISSUE_SLOTS_NOT_CONSUMED.RESOURCE_FULL",
|
||||
"PublicDescription": "Counts the number of issue slots per core cycle that were not consumed because of a full resource in the backend. Including but not limited to resources such as the Re-order Buffer (ROB), reservation stations (RS), load/store buffers, physical registers, or any other needed machine resource that is currently unavailable. Note that uops must be available for consumption in order for this event to fire. If a uop is not available (Instruction Queue is empty), this event will not count.",
|
||||
@ -276,8 +225,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Loads blocked because address has 4k partial address false dependence (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x03",
|
||||
"EventName": "LD_BLOCKS.4K_ALIAS",
|
||||
"PEBS": "2",
|
||||
@ -287,8 +234,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Loads blocked (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x03",
|
||||
"EventName": "LD_BLOCKS.ALL_BLOCK",
|
||||
"PEBS": "2",
|
||||
@ -298,8 +243,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Loads blocked due to store data not ready (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x03",
|
||||
"EventName": "LD_BLOCKS.DATA_UNKNOWN",
|
||||
"PEBS": "2",
|
||||
@ -309,8 +252,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Loads blocked due to store forward restriction (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x03",
|
||||
"EventName": "LD_BLOCKS.STORE_FORWARD",
|
||||
"PEBS": "2",
|
||||
@ -320,8 +261,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Loads blocked because address in not in the UTLB (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x03",
|
||||
"EventName": "LD_BLOCKS.UTLB_MISS",
|
||||
"PEBS": "2",
|
||||
@ -331,8 +270,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "All machine clears",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC3",
|
||||
"EventName": "MACHINE_CLEARS.ALL",
|
||||
"PublicDescription": "Counts machine clears for any reason.",
|
||||
@ -340,8 +277,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Machine clears due to memory disambiguation",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC3",
|
||||
"EventName": "MACHINE_CLEARS.DISAMBIGUATION",
|
||||
"PublicDescription": "Counts machine clears due to memory disambiguation. Memory disambiguation happens when a load which has been issued conflicts with a previous unretired store in the pipeline whose address was not known at issue time, but is later resolved to be the same as the load address.",
|
||||
@ -350,8 +285,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Self-Modifying Code detected",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC3",
|
||||
"EventName": "MACHINE_CLEARS.SMC",
|
||||
"PublicDescription": "Counts the number of times that the processor detects that a program is writing to a code section and has to perform a machine clear because of that modification. Self-modifying code (SMC) causes a severe penalty in all Intel(R) architecture processors.",
|
||||
@ -360,8 +293,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Uops issued to the back end per cycle",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x0E",
|
||||
"EventName": "UOPS_ISSUED.ANY",
|
||||
"PublicDescription": "Counts uops issued by the front end and allocated into the back end of the machine. This event counts uops that retire as well as uops that were speculatively executed but didn't retire. The sort of speculative uops that might be counted includes, but is not limited to those uops issued in the shadow of a miss-predicted branch, those uops that are inserted during an assist (such as for a denormal floating point result), and (previously allocated) uops that might be canceled during a machine clear.",
|
||||
@ -369,8 +300,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Uops requested but not-delivered to the back-end per cycle",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x9C",
|
||||
"EventName": "UOPS_NOT_DELIVERED.ANY",
|
||||
"PublicDescription": "This event used to measure front-end inefficiencies. I.e. when front-end of the machine is not delivering uops to the back-end and the back-end has is not stalled. This event can be used to identify if the machine is truly front-end bound. When this event occurs, it is an indication that the front-end of the machine is operating at less than its theoretical peak performance. Background: We can think of the processor pipeline as being divided into 2 broader parts: Front-end and Back-end. Front-end is responsible for fetching the instruction, decoding into uops in machine understandable format and putting them into a uop queue to be consumed by back end. The back-end then takes these uops, allocates the required resources. When all resources are ready, uops are executed. If the back-end is not ready to accept uops from the front-end, then we do not want to count these as front-end bottlenecks. However, whenever we have bottlenecks in the back-end, we will have allocation unit stalls and eventually forcing the front-end to wait until the back-end is ready to receive more uops. This event counts only when back-end is requesting more uops and front-end is not able to provide them. When 3 uops are requested and no uops are delivered, the event counts 3. When 3 are requested, and only 1 is delivered, the event counts 2. When only 2 are delivered, the event counts 1. Alternatively stated, the event will not count if 3 uops are delivered, or if the back end is stalled and not requesting any uops at all. Counts indicate missed opportunities for the front-end to deliver a uop to the back end. Some examples of conditions that cause front-end efficiencies are: ICache misses, ITLB misses, and decoder restrictions that limit the front-end bandwidth. Known Issues: Some uops require multiple allocation slots. These uops will not be charged as a front end 'not delivered' opportunity, and will be regarded as a back end problem. For example, the INC instruction has one uop that requires 2 issue slots. A stream of INC instructions will not count as UOPS_NOT_DELIVERED, even though only one instruction can be issued per clock. The low uop issue rate for a stream of INC instructions is considered to be a back end issue.",
|
||||
@ -378,8 +307,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Uops retired (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC2",
|
||||
"EventName": "UOPS_RETIRED.ANY",
|
||||
"PEBS": "2",
|
||||
@ -388,8 +315,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Integer divide uops retired. (Precise Event Capable)",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC2",
|
||||
"EventName": "UOPS_RETIRED.IDIV",
|
||||
"PEBS": "2",
|
||||
@ -399,8 +324,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "MS uops retired (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0xC2",
|
||||
"EventName": "UOPS_RETIRED.MS",
|
||||
"PEBS": "2",
|
||||
|
@ -1,8 +1,6 @@
|
||||
[
|
||||
{
|
||||
"BriefDescription": "ITLB misses",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x81",
|
||||
"EventName": "ITLB.MISS",
|
||||
"PublicDescription": "Counts the number of times the machine was unable to find a translation in the Instruction Translation Lookaside Buffer (ITLB) for a linear address of an instruction fetch. It counts when new translation are filled into the ITLB. The event is speculative in nature, but will not count translations (page walks) that are begun and not finished, or translations that are finished but not filled into the ITLB.",
|
||||
@ -11,8 +9,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Memory uops retired that missed the DTLB (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"Data_LA": "1",
|
||||
"EventCode": "0xD0",
|
||||
"EventName": "MEM_UOPS_RETIRED.DTLB_MISS",
|
||||
@ -23,8 +19,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Load uops retired that missed the DTLB (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"Data_LA": "1",
|
||||
"EventCode": "0xD0",
|
||||
"EventName": "MEM_UOPS_RETIRED.DTLB_MISS_LOADS",
|
||||
@ -35,8 +29,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Store uops retired that missed the DTLB (Precise event capable)",
|
||||
"CollectPEBSRecord": "2",
|
||||
"Counter": "0,1,2,3",
|
||||
"Data_LA": "1",
|
||||
"EventCode": "0xD0",
|
||||
"EventName": "MEM_UOPS_RETIRED.DTLB_MISS_STORES",
|
||||
@ -47,8 +39,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Duration of page-walks in cycles",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x05",
|
||||
"EventName": "PAGE_WALKS.CYCLES",
|
||||
"PublicDescription": "Counts every core cycle a page-walk is in progress due to either a data memory operation or an instruction fetch.",
|
||||
@ -57,8 +47,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Duration of D-side page-walks in cycles",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x05",
|
||||
"EventName": "PAGE_WALKS.D_SIDE_CYCLES",
|
||||
"PublicDescription": "Counts every core cycle when a Data-side (walks due to a data operation) page walk is in progress.",
|
||||
@ -67,8 +55,6 @@
|
||||
},
|
||||
{
|
||||
"BriefDescription": "Duration of I-side pagewalks in cycles",
|
||||
"CollectPEBSRecord": "1",
|
||||
"Counter": "0,1,2,3",
|
||||
"EventCode": "0x05",
|
||||
"EventName": "PAGE_WALKS.I_SIDE_CYCLES",
|
||||
"PublicDescription": "Counts every core cycle when a Instruction-side (walks due to an instruction fetch) page walk is in progress.",
|
||||
|
Loading…
Reference in New Issue
Block a user