Commit 7c79eb5c authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim

perf vendor events: Add snowridgex counter information

Update/remove events as per v1.23:
https://github.com/intel/perfmon/commit/9debd874e1b2b0cca42b9ba2342cacaaace2f0ce

Add counter information necessary for optimizing event grouping the
perf tool.

The most recent RFC patch set using this information:
https://lore.kernel.org/lkml/20240412210756.309828-1-weilin.wang@intel.com/

The information was added in:
https://github.com/intel/perfmon/commit/475892a9690cb048949e593fe39cee65cd4765e1
and later patches.
Co-authored-by: default avatarWeilin Wang <weilin.wang@intel.com>
Co-authored-by: default avatarCaleb Biggers <caleb.biggers@intel.com>
Signed-off-by: default avatarIan Rogers <irogers@google.com>
Reviewed-by: default avatarKan Liang <kan.liang@linux.intel.com>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240620181752.3945845-34-irogers@google.com
parent 4c10b96f
...@@ -31,7 +31,7 @@ GenuineIntel-6-AF,v1.04,sierraforest,core ...@@ -31,7 +31,7 @@ GenuineIntel-6-AF,v1.04,sierraforest,core
GenuineIntel-6-(37|4A|4C|4D|5A),v15,silvermont,core GenuineIntel-6-(37|4A|4C|4D|5A),v15,silvermont,core
GenuineIntel-6-(4E|5E|8E|9E|A5|A6),v59,skylake,core GenuineIntel-6-(4E|5E|8E|9E|A5|A6),v59,skylake,core
GenuineIntel-6-55-[01234],v1.35,skylakex,core GenuineIntel-6-55-[01234],v1.35,skylakex,core
GenuineIntel-6-86,v1.22,snowridgex,core GenuineIntel-6-86,v1.23,snowridgex,core
GenuineIntel-6-8[CD],v1.15,tigerlake,core GenuineIntel-6-8[CD],v1.15,tigerlake,core
GenuineIntel-6-2C,v5,westmereep-dp,core GenuineIntel-6-2C,v5,westmereep-dp,core
GenuineIntel-6-25,v4,westmereep-sp,core GenuineIntel-6-25,v4,westmereep-sp,core
......
[
{
"Unit": "core",
"CountersNumFixed": "3",
"CountersNumGeneric": "4"
},
{
"Unit": "CHA",
"CountersNumFixed": "0",
"CountersNumGeneric": "4"
},
{
"Unit": "IIO",
"CountersNumFixed": "0",
"CountersNumGeneric": "4"
},
{
"Unit": "IRP",
"CountersNumFixed": "0",
"CountersNumGeneric": "2"
},
{
"Unit": "iMC",
"CountersNumFixed": "1",
"CountersNumGeneric": "4"
},
{
"Unit": "M2M",
"CountersNumFixed": "0",
"CountersNumGeneric": "4"
},
{
"Unit": "M2PCIe",
"CountersNumFixed": "0",
"CountersNumGeneric": "4"
},
{
"Unit": "PCU",
"CountersNumFixed": "0",
"CountersNumGeneric": "4"
},
{
"Unit": "UBOX",
"CountersNumFixed": 1,
"CountersNumGeneric": "2"
}
]
\ No newline at end of file
[ [
{ {
"BriefDescription": "Counts the number of cycles the floating point divider is busy.", "BriefDescription": "Counts the number of cycles the floating point divider is busy.",
"Counter": "0,1,2,3",
"EventCode": "0xcd", "EventCode": "0xcd",
"EventName": "CYCLES_DIV_BUSY.FPDIV", "EventName": "CYCLES_DIV_BUSY.FPDIV",
"PublicDescription": "Counts the number of cycles the floating point divider is busy. Does not imply a stall waiting for the divider.", "PublicDescription": "Counts the number of cycles the floating point divider is busy. Does not imply a stall waiting for the divider.",
...@@ -9,6 +10,7 @@ ...@@ -9,6 +10,7 @@
}, },
{ {
"BriefDescription": "Counts the number of floating point operations retired that required microcode assist.", "BriefDescription": "Counts the number of floating point operations retired that required microcode assist.",
"Counter": "0,1,2,3",
"EventCode": "0xc3", "EventCode": "0xc3",
"EventName": "MACHINE_CLEARS.FP_ASSIST", "EventName": "MACHINE_CLEARS.FP_ASSIST",
"PublicDescription": "Counts the number of floating point operations retired that required microcode assist, which is not a reflection of the number of FP operations, instructions or uops.", "PublicDescription": "Counts the number of floating point operations retired that required microcode assist, which is not a reflection of the number of FP operations, instructions or uops.",
...@@ -17,6 +19,7 @@ ...@@ -17,6 +19,7 @@
}, },
{ {
"BriefDescription": "Counts the number of floating point divide uops retired (x87 and SSE, including x87 sqrt).", "BriefDescription": "Counts the number of floating point divide uops retired (x87 and SSE, including x87 sqrt).",
"Counter": "0,1,2,3",
"EventCode": "0xc2", "EventCode": "0xc2",
"EventName": "UOPS_RETIRED.FPDIV", "EventName": "UOPS_RETIRED.FPDIV",
"PEBS": "1", "PEBS": "1",
......
[ [
{ {
"BriefDescription": "Counts the total number of BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.", "BriefDescription": "Counts the total number of BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
"Counter": "0,1,2,3",
"EventCode": "0xe6", "EventCode": "0xe6",
"EventName": "BACLEARS.ANY", "EventName": "BACLEARS.ANY",
"PublicDescription": "Counts the total number of BACLEARS, which occur when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend. Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.", "PublicDescription": "Counts the total number of BACLEARS, which occur when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend. Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
...@@ -9,6 +10,7 @@ ...@@ -9,6 +10,7 @@
}, },
{ {
"BriefDescription": "Counts the number of BACLEARS due to a conditional jump.", "BriefDescription": "Counts the number of BACLEARS due to a conditional jump.",
"Counter": "0,1,2,3",
"EventCode": "0xe6", "EventCode": "0xe6",
"EventName": "BACLEARS.COND", "EventName": "BACLEARS.COND",
"SampleAfterValue": "200003", "SampleAfterValue": "200003",
...@@ -16,6 +18,7 @@ ...@@ -16,6 +18,7 @@
}, },
{ {
"BriefDescription": "Counts the number of BACLEARS due to an indirect branch.", "BriefDescription": "Counts the number of BACLEARS due to an indirect branch.",
"Counter": "0,1,2,3",
"EventCode": "0xe6", "EventCode": "0xe6",
"EventName": "BACLEARS.INDIRECT", "EventName": "BACLEARS.INDIRECT",
"SampleAfterValue": "200003", "SampleAfterValue": "200003",
...@@ -23,6 +26,7 @@ ...@@ -23,6 +26,7 @@
}, },
{ {
"BriefDescription": "Counts the number of BACLEARS due to a return branch.", "BriefDescription": "Counts the number of BACLEARS due to a return branch.",
"Counter": "0,1,2,3",
"EventCode": "0xe6", "EventCode": "0xe6",
"EventName": "BACLEARS.RETURN", "EventName": "BACLEARS.RETURN",
"SampleAfterValue": "200003", "SampleAfterValue": "200003",
...@@ -30,6 +34,7 @@ ...@@ -30,6 +34,7 @@
}, },
{ {
"BriefDescription": "Counts the number of BACLEARS due to a direct, unconditional jump.", "BriefDescription": "Counts the number of BACLEARS due to a direct, unconditional jump.",
"Counter": "0,1,2,3",
"EventCode": "0xe6", "EventCode": "0xe6",
"EventName": "BACLEARS.UNCOND", "EventName": "BACLEARS.UNCOND",
"SampleAfterValue": "200003", "SampleAfterValue": "200003",
...@@ -37,6 +42,7 @@ ...@@ -37,6 +42,7 @@
}, },
{ {
"BriefDescription": "Counts the number of times a decode restriction reduces the decode throughput due to wrong instruction length prediction.", "BriefDescription": "Counts the number of times a decode restriction reduces the decode throughput due to wrong instruction length prediction.",
"Counter": "0,1,2,3",
"EventCode": "0xe9", "EventCode": "0xe9",
"EventName": "DECODE_RESTRICTION.PREDECODE_WRONG", "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG",
"SampleAfterValue": "200003", "SampleAfterValue": "200003",
...@@ -44,6 +50,7 @@ ...@@ -44,6 +50,7 @@
}, },
{ {
"BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.", "BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.",
"Counter": "0,1,2,3",
"EventCode": "0x80", "EventCode": "0x80",
"EventName": "ICACHE.ACCESSES", "EventName": "ICACHE.ACCESSES",
"PublicDescription": "Counts the total number of requests to the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line or byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.", "PublicDescription": "Counts the total number of requests to the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line or byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
...@@ -52,6 +59,7 @@ ...@@ -52,6 +59,7 @@
}, },
{ {
"BriefDescription": "Counts the number of instruction cache hits.", "BriefDescription": "Counts the number of instruction cache hits.",
"Counter": "0,1,2,3",
"EventCode": "0x80", "EventCode": "0x80",
"EventName": "ICACHE.HIT", "EventName": "ICACHE.HIT",
"PublicDescription": "Counts the number of requests that hit in the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.", "PublicDescription": "Counts the number of requests that hit in the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
...@@ -60,6 +68,7 @@ ...@@ -60,6 +68,7 @@
}, },
{ {
"BriefDescription": "Counts the number of instruction cache misses.", "BriefDescription": "Counts the number of instruction cache misses.",
"Counter": "0,1,2,3",
"EventCode": "0x80", "EventCode": "0x80",
"EventName": "ICACHE.MISSES", "EventName": "ICACHE.MISSES",
"PublicDescription": "Counts the number of missed requests to the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.", "PublicDescription": "Counts the number of missed requests to the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment