Commit 39b8bd16 authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim

perf vendor events: Update broadwell metrics add event counter information

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.

The TMA 4.8 information was updated in:
https://github.com/intel/perfmon/commit/59194d4d90ca50a3fcb2de0d82b9f6fc0c9a5736Co-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-5-irogers@google.com
parent 19121e87
[
{
"Unit": "core",
"CountersNumFixed": "3",
"CountersNumGeneric": "4"
},
{
"Unit": "CBOX",
"CountersNumFixed": "0",
"CountersNumGeneric": "2"
},
{
"Unit": "ARB",
"CountersNumFixed": "0",
"CountersNumGeneric": "2"
},
{
"Unit": "cbox_0",
"CountersNumFixed": 1,
"CountersNumGeneric": "0"
}
]
\ No newline at end of file
...@@ -5,7 +5,18 @@ ...@@ -5,7 +5,18 @@
"BigFootprint": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "BigFootprint": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BrMispredicts": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "BrMispredicts": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"Branches": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "Branches": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvBC": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvCB": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvFB": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvIO": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvML": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvMP": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvMS": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvMT": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvOB": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"BvUW": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"CacheHits": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "CacheHits": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"CacheMisses": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"Compute": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "Compute": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"Cor": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "Cor": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
"DSB": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet", "DSB": "Grouping from Top-down Microarchitecture Analysis Metrics spreadsheet",
......
[ [
{ {
"BriefDescription": "Unhalted core cycles when the thread is in ring 0", "BriefDescription": "Unhalted core cycles when the thread is in ring 0",
"Counter": "0,1,2,3",
"EventCode": "0x5C", "EventCode": "0x5C",
"EventName": "CPL_CYCLES.RING0", "EventName": "CPL_CYCLES.RING0",
"PublicDescription": "This event counts the unhalted core cycles during which the thread is in the ring 0 privileged mode.", "PublicDescription": "This event counts the unhalted core cycles during which the thread is in the ring 0 privileged mode.",
...@@ -9,6 +10,7 @@ ...@@ -9,6 +10,7 @@
}, },
{ {
"BriefDescription": "Number of intervals between processor halts while thread is in ring 0", "BriefDescription": "Number of intervals between processor halts while thread is in ring 0",
"Counter": "0,1,2,3",
"CounterMask": "1", "CounterMask": "1",
"EdgeDetect": "1", "EdgeDetect": "1",
"EventCode": "0x5C", "EventCode": "0x5C",
...@@ -19,6 +21,7 @@ ...@@ -19,6 +21,7 @@
}, },
{ {
"BriefDescription": "Unhalted core cycles when thread is in rings 1, 2, or 3", "BriefDescription": "Unhalted core cycles when thread is in rings 1, 2, or 3",
"Counter": "0,1,2,3",
"EventCode": "0x5C", "EventCode": "0x5C",
"EventName": "CPL_CYCLES.RING123", "EventName": "CPL_CYCLES.RING123",
"PublicDescription": "This event counts unhalted core cycles during which the thread is in rings 1, 2, or 3.", "PublicDescription": "This event counts unhalted core cycles during which the thread is in rings 1, 2, or 3.",
...@@ -27,6 +30,7 @@ ...@@ -27,6 +30,7 @@
}, },
{ {
"BriefDescription": "Cycles when L1 and L2 are locked due to UC or split lock", "BriefDescription": "Cycles when L1 and L2 are locked due to UC or split lock",
"Counter": "0,1,2,3",
"EventCode": "0x63", "EventCode": "0x63",
"EventName": "LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION", "EventName": "LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION",
"PublicDescription": "This event counts cycles in which the L1 and L2 are locked due to a UC lock or split lock. A lock is asserted in case of locked memory access, due to noncacheable memory, locked operation that spans two cache lines, or a page walk from the noncacheable page table. L1D and L2 locks have a very high performance penalty and it is highly recommended to avoid such access.", "PublicDescription": "This event counts cycles in which the L1 and L2 are locked due to a UC lock or split lock. A lock is asserted in case of locked memory access, due to noncacheable memory, locked operation that spans two cache lines, or a page walk from the noncacheable page table. L1D and L2 locks have a very high performance penalty and it is highly recommended to avoid such access.",
......
[ [
{ {
"BriefDescription": "L3 Lookup any request that access cache and found line in E or S-state", "BriefDescription": "L3 Lookup any request that access cache and found line in E or S-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.ANY_ES", "EventName": "UNC_CBO_CACHE_LOOKUP.ANY_ES",
"PerPkg": "1", "PerPkg": "1",
...@@ -10,6 +11,7 @@ ...@@ -10,6 +11,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup any request that access cache and found line in I-state", "BriefDescription": "L3 Lookup any request that access cache and found line in I-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.ANY_I", "EventName": "UNC_CBO_CACHE_LOOKUP.ANY_I",
"PerPkg": "1", "PerPkg": "1",
...@@ -19,6 +21,7 @@ ...@@ -19,6 +21,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup any request that access cache and found line in M-state", "BriefDescription": "L3 Lookup any request that access cache and found line in M-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.ANY_M", "EventName": "UNC_CBO_CACHE_LOOKUP.ANY_M",
"PerPkg": "1", "PerPkg": "1",
...@@ -28,6 +31,7 @@ ...@@ -28,6 +31,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup any request that access cache and found line in MESI-state", "BriefDescription": "L3 Lookup any request that access cache and found line in MESI-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.ANY_MESI", "EventName": "UNC_CBO_CACHE_LOOKUP.ANY_MESI",
"PerPkg": "1", "PerPkg": "1",
...@@ -37,6 +41,7 @@ ...@@ -37,6 +41,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup read request that access cache and found line in E or S-state", "BriefDescription": "L3 Lookup read request that access cache and found line in E or S-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.READ_ES", "EventName": "UNC_CBO_CACHE_LOOKUP.READ_ES",
"PerPkg": "1", "PerPkg": "1",
...@@ -46,6 +51,7 @@ ...@@ -46,6 +51,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup read request that access cache and found line in I-state", "BriefDescription": "L3 Lookup read request that access cache and found line in I-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.READ_I", "EventName": "UNC_CBO_CACHE_LOOKUP.READ_I",
"PerPkg": "1", "PerPkg": "1",
...@@ -55,6 +61,7 @@ ...@@ -55,6 +61,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup read request that access cache and found line in M-state", "BriefDescription": "L3 Lookup read request that access cache and found line in M-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.READ_M", "EventName": "UNC_CBO_CACHE_LOOKUP.READ_M",
"PerPkg": "1", "PerPkg": "1",
...@@ -64,6 +71,7 @@ ...@@ -64,6 +71,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup read request that access cache and found line in any MESI-state", "BriefDescription": "L3 Lookup read request that access cache and found line in any MESI-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.READ_MESI", "EventName": "UNC_CBO_CACHE_LOOKUP.READ_MESI",
"PerPkg": "1", "PerPkg": "1",
...@@ -73,6 +81,7 @@ ...@@ -73,6 +81,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup write request that access cache and found line in E or S-state", "BriefDescription": "L3 Lookup write request that access cache and found line in E or S-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.WRITE_ES", "EventName": "UNC_CBO_CACHE_LOOKUP.WRITE_ES",
"PerPkg": "1", "PerPkg": "1",
...@@ -82,6 +91,7 @@ ...@@ -82,6 +91,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup write request that access cache and found line in M-state", "BriefDescription": "L3 Lookup write request that access cache and found line in M-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.WRITE_M", "EventName": "UNC_CBO_CACHE_LOOKUP.WRITE_M",
"PerPkg": "1", "PerPkg": "1",
...@@ -91,6 +101,7 @@ ...@@ -91,6 +101,7 @@
}, },
{ {
"BriefDescription": "L3 Lookup write request that access cache and found line in MESI-state", "BriefDescription": "L3 Lookup write request that access cache and found line in MESI-state",
"Counter": "0,1",
"EventCode": "0x34", "EventCode": "0x34",
"EventName": "UNC_CBO_CACHE_LOOKUP.WRITE_MESI", "EventName": "UNC_CBO_CACHE_LOOKUP.WRITE_MESI",
"PerPkg": "1", "PerPkg": "1",
...@@ -100,6 +111,7 @@ ...@@ -100,6 +111,7 @@
}, },
{ {
"BriefDescription": "A cross-core snoop initiated by this Cbox due to processor core memory request which hits a modified line in some processor core.", "BriefDescription": "A cross-core snoop initiated by this Cbox due to processor core memory request which hits a modified line in some processor core.",
"Counter": "0,1",
"EventCode": "0x22", "EventCode": "0x22",
"EventName": "UNC_CBO_XSNP_RESPONSE.HITM_XCORE", "EventName": "UNC_CBO_XSNP_RESPONSE.HITM_XCORE",
"PerPkg": "1", "PerPkg": "1",
...@@ -108,6 +120,7 @@ ...@@ -108,6 +120,7 @@
}, },
{ {
"BriefDescription": "A cross-core snoop initiated by this Cbox due to processor core memory request which hits a non-modified line in some processor core.", "BriefDescription": "A cross-core snoop initiated by this Cbox due to processor core memory request which hits a non-modified line in some processor core.",
"Counter": "0,1",
"EventCode": "0x22", "EventCode": "0x22",
"EventName": "UNC_CBO_XSNP_RESPONSE.HIT_XCORE", "EventName": "UNC_CBO_XSNP_RESPONSE.HIT_XCORE",
"PerPkg": "1", "PerPkg": "1",
...@@ -116,6 +129,7 @@ ...@@ -116,6 +129,7 @@
}, },
{ {
"BriefDescription": "A cross-core snoop resulted from L3 Eviction which misses in some processor core.", "BriefDescription": "A cross-core snoop resulted from L3 Eviction which misses in some processor core.",
"Counter": "0,1",
"EventCode": "0x22", "EventCode": "0x22",
"EventName": "UNC_CBO_XSNP_RESPONSE.MISS_EVICTION", "EventName": "UNC_CBO_XSNP_RESPONSE.MISS_EVICTION",
"PerPkg": "1", "PerPkg": "1",
...@@ -124,10 +138,20 @@ ...@@ -124,10 +138,20 @@
}, },
{ {
"BriefDescription": "A cross-core snoop initiated by this Cbox due to processor core memory request which misses in some processor core.", "BriefDescription": "A cross-core snoop initiated by this Cbox due to processor core memory request which misses in some processor core.",
"Counter": "0,1",
"EventCode": "0x22", "EventCode": "0x22",
"EventName": "UNC_CBO_XSNP_RESPONSE.MISS_XCORE", "EventName": "UNC_CBO_XSNP_RESPONSE.MISS_XCORE",
"PerPkg": "1", "PerPkg": "1",
"UMask": "0x41", "UMask": "0x41",
"Unit": "CBOX" "Unit": "CBOX"
},
{
"BriefDescription": "This 48-bit fixed counter counts the UCLK cycles",
"Counter": "FIXED",
"EventCode": "0xff",
"EventName": "UNC_CLOCK.SOCKET",
"PerPkg": "1",
"PublicDescription": "This 48-bit fixed counter counts the UCLK cycles.",
"Unit": "cbox_0"
} }
] ]
[ [
{ {
"BriefDescription": "Number of entries allocated. Account for Any type: e.g. Snoop, Core aperture, etc.", "BriefDescription": "Number of entries allocated. Account for Any type: e.g. Snoop, Core aperture, etc.",
"Counter": "0,1",
"EventCode": "0x84", "EventCode": "0x84",
"EventName": "UNC_ARB_COH_TRK_REQUESTS.ALL", "EventName": "UNC_ARB_COH_TRK_REQUESTS.ALL",
"PerPkg": "1", "PerPkg": "1",
...@@ -9,6 +10,7 @@ ...@@ -9,6 +10,7 @@
}, },
{ {
"BriefDescription": "Each cycle counts number of all Core outgoing valid entries. Such entry is defined as valid from its allocation till first of IDI0 or DRS0 messages is sent out. Accounts for Coherent and non-coherent traffic.", "BriefDescription": "Each cycle counts number of all Core outgoing valid entries. Such entry is defined as valid from its allocation till first of IDI0 or DRS0 messages is sent out. Accounts for Coherent and non-coherent traffic.",
"Counter": "0",
"EventCode": "0x80", "EventCode": "0x80",
"EventName": "UNC_ARB_TRK_OCCUPANCY.ALL", "EventName": "UNC_ARB_TRK_OCCUPANCY.ALL",
"PerPkg": "1", "PerPkg": "1",
...@@ -17,6 +19,7 @@ ...@@ -17,6 +19,7 @@
}, },
{ {
"BriefDescription": "Cycles with at least one request outstanding is waiting for data return from memory controller. Account for coherent and non-coherent requests initiated by IA Cores, Processor Graphics Unit, or LLC.;", "BriefDescription": "Cycles with at least one request outstanding is waiting for data return from memory controller. Account for coherent and non-coherent requests initiated by IA Cores, Processor Graphics Unit, or LLC.;",
"Counter": "0",
"CounterMask": "1", "CounterMask": "1",
"EventCode": "0x80", "EventCode": "0x80",
"EventName": "UNC_ARB_TRK_OCCUPANCY.CYCLES_WITH_ANY_REQUEST", "EventName": "UNC_ARB_TRK_OCCUPANCY.CYCLES_WITH_ANY_REQUEST",
...@@ -26,6 +29,7 @@ ...@@ -26,6 +29,7 @@
}, },
{ {
"BriefDescription": "Each cycle count number of 'valid' coherent Data Read entries that are in DirectData mode. Such entry is defined as valid when it is allocated till data sent to Core (first chunk, IDI0). Applicable for IA Cores' requests in normal case.", "BriefDescription": "Each cycle count number of 'valid' coherent Data Read entries that are in DirectData mode. Such entry is defined as valid when it is allocated till data sent to Core (first chunk, IDI0). Applicable for IA Cores' requests in normal case.",
"Counter": "0",
"EventCode": "0x80", "EventCode": "0x80",
"EventName": "UNC_ARB_TRK_OCCUPANCY.DRD_DIRECT", "EventName": "UNC_ARB_TRK_OCCUPANCY.DRD_DIRECT",
"PerPkg": "1", "PerPkg": "1",
...@@ -35,6 +39,7 @@ ...@@ -35,6 +39,7 @@
}, },
{ {
"BriefDescription": "Total number of Core outgoing entries allocated. Accounts for Coherent and non-coherent traffic.", "BriefDescription": "Total number of Core outgoing entries allocated. Accounts for Coherent and non-coherent traffic.",
"Counter": "0,1",
"EventCode": "0x81", "EventCode": "0x81",
"EventName": "UNC_ARB_TRK_REQUESTS.ALL", "EventName": "UNC_ARB_TRK_REQUESTS.ALL",
"PerPkg": "1", "PerPkg": "1",
...@@ -43,6 +48,7 @@ ...@@ -43,6 +48,7 @@
}, },
{ {
"BriefDescription": "Number of Core coherent Data Read entries allocated in DirectData mode", "BriefDescription": "Number of Core coherent Data Read entries allocated in DirectData mode",
"Counter": "0,1",
"EventCode": "0x81", "EventCode": "0x81",
"EventName": "UNC_ARB_TRK_REQUESTS.DRD_DIRECT", "EventName": "UNC_ARB_TRK_REQUESTS.DRD_DIRECT",
"PerPkg": "1", "PerPkg": "1",
...@@ -52,6 +58,7 @@ ...@@ -52,6 +58,7 @@
}, },
{ {
"BriefDescription": "Number of Writes allocated - any write transactions: full/partials writes and evictions.", "BriefDescription": "Number of Writes allocated - any write transactions: full/partials writes and evictions.",
"Counter": "0,1",
"EventCode": "0x81", "EventCode": "0x81",
"EventName": "UNC_ARB_TRK_REQUESTS.WRITES", "EventName": "UNC_ARB_TRK_REQUESTS.WRITES",
"PerPkg": "1", "PerPkg": "1",
......
[
{
"BriefDescription": "This 48-bit fixed counter counts the UCLK cycles",
"EventCode": "0xff",
"EventName": "UNC_CLOCK.SOCKET",
"PerPkg": "1",
"PublicDescription": "This 48-bit fixed counter counts the UCLK cycles.",
"Unit": "CLOCK"
}
]
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