Commit b5b8a7cf authored by Vijay Thakkar's avatar Vijay Thakkar Committed by Arnaldo Carvalho de Melo

perf vendor events amd: Update Zen1 events to V2

This patch updates the PMCs for AMD Zen1 core based processors (Family
17h; Models 0 through 2F) to be in accordance with PMCs as
documented in the latest versions of the AMD Processor Programming
Reference [1], [2] and [3]. Note that some events, such as FPU pipe
assignment are missing in [1], and therefore [3] is included for full
coverage of events.

PMCs added:

  fpu_pipe_assignment.dual{0|1|2|3}
  fpu_pipe_assignment.total{0|1|2|3}
  ls_mab_alloc.dc_prefetcher
  ls_mab_alloc.stores
  ls_mab_alloc.loads
  bp_dyn_ind_pred
  bp_de_redirect

PMC removed:

  ex_ret_cond_misp

Cumulative counts, fpu_pipe_assignment.total and
fpu_pipe_assignment.dual, existed in v1, but did expose port-level
counters.

ex_ret_cond_misp has been removed as it has been removed from the latest
versions of the PPR, and when tested, always seems to sample zero as
tested on a Ryzen 3400G system.

[1]: Processor Programming Reference (PPR) for AMD Family 17h Models
01h,08h, Revision B2 Processors, 54945 Rev 3.03 - Jun 14, 2019.

[2]: Processor Programming Reference (PPR) for AMD Family 17h Model 18h,
Revision B1 Processors, 55570-B1 Rev 3.14 - Sep 26, 2019.

[3]: OSRR for AMD Family 17h processors, Models 00h-2Fh, 56255 Rev 3.03 - July, 2018

All of the PPRs can be found at:
https://bugzilla.kernel.org/show_bug.cgi?id=206537Signed-off-by: default avatarVijay Thakkar <vijaythakkar@me.com>
Acked-by: default avatarKim Phillips <kim.phillips@amd.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Jon Grimm <jon.grimm@amd.com>
Cc: Martin Liška <mliska@suse.cz>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: vijay thakkar <vijaythakkar@me.com>
Link: http://lore.kernel.org/lkml/20200318190002.307290-4-vijaythakkar@me.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 2079f7aa
...@@ -8,5 +8,16 @@ ...@@ -8,5 +8,16 @@
"EventName": "bp_l2_btb_correct", "EventName": "bp_l2_btb_correct",
"EventCode": "0x8b", "EventCode": "0x8b",
"BriefDescription": "L2 BTB Correction." "BriefDescription": "L2 BTB Correction."
},
{
"EventName": "bp_dyn_ind_pred",
"EventCode": "0x8e",
"BriefDescription": "Dynamic Indirect Predictions.",
"PublicDescription": "Indirect Branch Prediction for potential multi-target branch (speculative)."
},
{
"EventName": "bp_de_redirect",
"EventCode": "0x91",
"BriefDescription": "Decoder Overrides Existing Branch Prediction (speculative)."
} }
] ]
...@@ -62,7 +62,6 @@ ...@@ -62,7 +62,6 @@
"EventName": "ex_ret_brn_ind_misp", "EventName": "ex_ret_brn_ind_misp",
"EventCode": "0xca", "EventCode": "0xca",
"BriefDescription": "Retired Indirect Branch Instructions Mispredicted.", "BriefDescription": "Retired Indirect Branch Instructions Mispredicted.",
"PublicDescription": "Retired Indirect Branch Instructions Mispredicted."
}, },
{ {
"EventName": "ex_ret_mmx_fp_instr.sse_instr", "EventName": "ex_ret_mmx_fp_instr.sse_instr",
...@@ -90,11 +89,6 @@ ...@@ -90,11 +89,6 @@
"EventCode": "0xd1", "EventCode": "0xd1",
"BriefDescription": "Retired Conditional Branch Instructions." "BriefDescription": "Retired Conditional Branch Instructions."
}, },
{
"EventName": "ex_ret_cond_misp",
"EventCode": "0xd2",
"BriefDescription": "Retired Conditional Branch Instructions Mispredicted."
},
{ {
"EventName": "ex_div_busy", "EventName": "ex_div_busy",
"EventCode": "0xd3", "EventCode": "0xd3",
...@@ -108,22 +102,19 @@ ...@@ -108,22 +102,19 @@
{ {
"EventName": "ex_tagged_ibs_ops.ibs_count_rollover", "EventName": "ex_tagged_ibs_ops.ibs_count_rollover",
"EventCode": "0x1cf", "EventCode": "0x1cf",
"BriefDescription": "Number of times an op could not be tagged by IBS because of a previous tagged op that has not retired.", "BriefDescription": "Tagged IBS Ops. Number of times an op could not be tagged by IBS because of a previous tagged op that has not retired.",
"PublicDescription": "Tagged IBS Ops. Number of times an op could not be tagged by IBS because of a previous tagged op that has not retired.",
"UMask": "0x4" "UMask": "0x4"
}, },
{ {
"EventName": "ex_tagged_ibs_ops.ibs_tagged_ops_ret", "EventName": "ex_tagged_ibs_ops.ibs_tagged_ops_ret",
"EventCode": "0x1cf", "EventCode": "0x1cf",
"BriefDescription": "Number of Ops tagged by IBS that retired.", "BriefDescription": "Tagged IBS Ops. Number of Ops tagged by IBS that retired.",
"PublicDescription": "Tagged IBS Ops. Number of Ops tagged by IBS that retired.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "ex_tagged_ibs_ops.ibs_tagged_ops", "EventName": "ex_tagged_ibs_ops.ibs_tagged_ops",
"EventCode": "0x1cf", "EventCode": "0x1cf",
"BriefDescription": "Number of Ops tagged by IBS.", "BriefDescription": "Tagged IBS Ops. Number of Ops tagged by IBS.",
"PublicDescription": "Tagged IBS Ops. Number of Ops tagged by IBS.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
......
...@@ -2,17 +2,73 @@ ...@@ -2,17 +2,73 @@
{ {
"EventName": "fpu_pipe_assignment.dual", "EventName": "fpu_pipe_assignment.dual",
"EventCode": "0x00", "EventCode": "0x00",
"BriefDescription": "Total number multi-pipe uOps.", "BriefDescription": "Total number multi-pipe uOps assigned to all pipes.",
"PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number multi-pipe uOps assigned to Pipe 3.", "PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number multi-pipe uOps assigned to all pipes.",
"UMask": "0xf0" "UMask": "0xf0"
}, },
{
"EventName": "fpu_pipe_assignment.dual3",
"EventCode": "0x00",
"BriefDescription": "Total number multi-pipe uOps assigned to pipe 3.",
"PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number multi-pipe uOps assigned to pipe 3.",
"UMask": "0x80"
},
{
"EventName": "fpu_pipe_assignment.dual2",
"EventCode": "0x00",
"BriefDescription": "Total number multi-pipe uOps assigned to pipe 2.",
"PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number multi-pipe uOps assigned to pipe 2.",
"UMask": "0x40"
},
{
"EventName": "fpu_pipe_assignment.dual1",
"EventCode": "0x00",
"BriefDescription": "Total number multi-pipe uOps assigned to pipe 1.",
"PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number multi-pipe uOps assigned to pipe 1.",
"UMask": "0x20"
},
{
"EventName": "fpu_pipe_assignment.dual0",
"EventCode": "0x00",
"BriefDescription": "Total number multi-pipe uOps assigned to pipe 0.",
"PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number multi-pipe uOps assigned to pipe 0.",
"UMask": "0x10"
},
{ {
"EventName": "fpu_pipe_assignment.total", "EventName": "fpu_pipe_assignment.total",
"EventCode": "0x00", "EventCode": "0x00",
"BriefDescription": "Total number uOps.", "BriefDescription": "Total number uOps assigned to all fpu pipes.",
"PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to Pipe 3.", "PublicDescription": "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to all pipes.",
"UMask": "0xf" "UMask": "0xf"
}, },
{
"EventName": "fpu_pipe_assignment.total3",
"EventCode": "0x00",
"BriefDescription": "Total number of fp uOps on pipe 3.",
"PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one-cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 3.",
"UMask": "0x8"
},
{
"EventName": "fpu_pipe_assignment.total2",
"EventCode": "0x00",
"BriefDescription": "Total number of fp uOps on pipe 2.",
"PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 2.",
"UMask": "0x4"
},
{
"EventName": "fpu_pipe_assignment.total1",
"EventCode": "0x00",
"BriefDescription": "Total number of fp uOps on pipe 1.",
"PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 1.",
"UMask": "0x2"
},
{
"EventName": "fpu_pipe_assignment.total0",
"EventCode": "0x00",
"BriefDescription": "Total number of fp uOps on pipe 0.",
"PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 0.",
"UMask": "0x1"
},
{ {
"EventName": "fp_sched_empty", "EventName": "fp_sched_empty",
"EventCode": "0x01", "EventCode": "0x01",
......
...@@ -3,28 +3,24 @@ ...@@ -3,28 +3,24 @@
"EventName": "ls_locks.bus_lock", "EventName": "ls_locks.bus_lock",
"EventCode": "0x25", "EventCode": "0x25",
"BriefDescription": "Bus lock when a locked operations crosses a cache boundary or is done on an uncacheable memory type.", "BriefDescription": "Bus lock when a locked operations crosses a cache boundary or is done on an uncacheable memory type.",
"PublicDescription": "Bus lock when a locked operations crosses a cache boundary or is done on an uncacheable memory type.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
"EventName": "ls_dispatch.ld_st_dispatch", "EventName": "ls_dispatch.ld_st_dispatch",
"EventCode": "0x29", "EventCode": "0x29",
"BriefDescription": "Load-op-Stores.", "BriefDescription": "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed. Load-op-Stores.",
"PublicDescription": "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed. Load-op-Stores.",
"UMask": "0x4" "UMask": "0x4"
}, },
{ {
"EventName": "ls_dispatch.store_dispatch", "EventName": "ls_dispatch.store_dispatch",
"EventCode": "0x29", "EventCode": "0x29",
"BriefDescription": "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed.", "BriefDescription": "Counts the number of stores dispatched to the LS unit. Unit Masks ADDed.",
"PublicDescription": "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "ls_dispatch.ld_dispatch", "EventName": "ls_dispatch.ld_dispatch",
"EventCode": "0x29", "EventCode": "0x29",
"BriefDescription": "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed.", "BriefDescription": "Counts the number of loads dispatched to the LS unit. Unit Masks ADDed.",
"PublicDescription": "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
...@@ -37,83 +33,114 @@ ...@@ -37,83 +33,114 @@
"EventCode": "0x40", "EventCode": "0x40",
"BriefDescription": "The number of accesses to the data cache for load and store references. This may include certain microcode scratchpad accesses, although these are generally rare. Each increment represents an eight-byte access, although the instruction may only be accessing a portion of that. This event is a speculative event." "BriefDescription": "The number of accesses to the data cache for load and store references. This may include certain microcode scratchpad accesses, although these are generally rare. Each increment represents an eight-byte access, although the instruction may only be accessing a portion of that. This event is a speculative event."
}, },
{
"EventName": "ls_mab_alloc.dc_prefetcher",
"EventCode": "0x41",
"BriefDescription": "LS MAB allocates by type - DC prefetcher.",
"UMask": "0x8"
},
{
"EventName": "ls_mab_alloc.stores",
"EventCode": "0x41",
"BriefDescription": "LS MAB allocates by type - stores.",
"UMask": "0x2"
},
{
"EventName": "ls_mab_alloc.loads",
"EventCode": "0x41",
"BriefDescription": "LS MAB allocates by type - loads.",
"UMask": "0x01"
},
{ {
"EventName": "ls_l1_d_tlb_miss.all", "EventName": "ls_l1_d_tlb_miss.all",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Miss or Reload off all sizes.", "BriefDescription": "L1 DTLB Miss or Reload off all sizes.",
"PublicDescription": "L1 DTLB Miss or Reload off all sizes.",
"UMask": "0xff" "UMask": "0xff"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_1g_l2_miss", "EventName": "ls_l1_d_tlb_miss.tlb_reload_1g_l2_miss",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Miss of a page of 1G size.", "BriefDescription": "L1 DTLB Miss of a page of 1G size.",
"PublicDescription": "L1 DTLB Miss of a page of 1G size.",
"UMask": "0x80" "UMask": "0x80"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_2m_l2_miss", "EventName": "ls_l1_d_tlb_miss.tlb_reload_2m_l2_miss",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Miss of a page of 2M size.", "BriefDescription": "L1 DTLB Miss of a page of 2M size.",
"PublicDescription": "L1 DTLB Miss of a page of 2M size.",
"UMask": "0x40" "UMask": "0x40"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_32k_l2_miss", "EventName": "ls_l1_d_tlb_miss.tlb_reload_32k_l2_miss",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Miss of a page of 32K size.", "BriefDescription": "L1 DTLB Miss of a page of 32K size.",
"PublicDescription": "L1 DTLB Miss of a page of 32K size.",
"UMask": "0x20" "UMask": "0x20"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_4k_l2_miss", "EventName": "ls_l1_d_tlb_miss.tlb_reload_4k_l2_miss",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Miss of a page of 4K size.", "BriefDescription": "L1 DTLB Miss of a page of 4K size.",
"PublicDescription": "L1 DTLB Miss of a page of 4K size.",
"UMask": "0x10" "UMask": "0x10"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_1g_l2_hit", "EventName": "ls_l1_d_tlb_miss.tlb_reload_1g_l2_hit",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Reload of a page of 1G size.", "BriefDescription": "L1 DTLB Reload of a page of 1G size.",
"PublicDescription": "L1 DTLB Reload of a page of 1G size.",
"UMask": "0x8" "UMask": "0x8"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_2m_l2_hit", "EventName": "ls_l1_d_tlb_miss.tlb_reload_2m_l2_hit",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Reload of a page of 2M size.", "BriefDescription": "L1 DTLB Reload of a page of 2M size.",
"PublicDescription": "L1 DTLB Reload of a page of 2M size.",
"UMask": "0x4" "UMask": "0x4"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_32k_l2_hit", "EventName": "ls_l1_d_tlb_miss.tlb_reload_32k_l2_hit",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Reload of a page of 32K size.", "BriefDescription": "L1 DTLB Reload of a page of 32K size.",
"PublicDescription": "L1 DTLB Reload of a page of 32K size.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "ls_l1_d_tlb_miss.tlb_reload_4k_l2_hit", "EventName": "ls_l1_d_tlb_miss.tlb_reload_4k_l2_hit",
"EventCode": "0x45", "EventCode": "0x45",
"BriefDescription": "L1 DTLB Reload of a page of 4K size.", "BriefDescription": "L1 DTLB Reload of a page of 4K size.",
"PublicDescription": "L1 DTLB Reload of a page of 4K size.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
"EventName": "ls_tablewalker.perf_mon_tablewalk_alloc_iside", "EventName": "ls_tablewalker.iside",
"EventCode": "0x46", "EventCode": "0x46",
"BriefDescription": "Tablewalker allocation.", "BriefDescription": "Total Page Table Walks on I-side.",
"PublicDescription": "Tablewalker allocation.",
"UMask": "0xc" "UMask": "0xc"
}, },
{ {
"EventName": "ls_tablewalker.perf_mon_tablewalk_alloc_dside", "EventName": "ls_tablewalker.ic_type1",
"EventCode": "0x46",
"BriefDescription": "Total Page Table Walks IC Type 1.",
"UMask": "0x8"
},
{
"EventName": "ls_tablewalker.ic_type0",
"EventCode": "0x46", "EventCode": "0x46",
"BriefDescription": "Tablewalker allocation.", "BriefDescription": "Total Page Table Walks IC Type 0.",
"PublicDescription": "Tablewalker allocation.", "UMask": "0x4"
},
{
"EventName": "ls_tablewalker.dside",
"EventCode": "0x46",
"BriefDescription": "Total Page Table Walks on D-side.",
"UMask": "0x3" "UMask": "0x3"
}, },
{
"EventName": "ls_tablewalker.dc_type1",
"EventCode": "0x46",
"BriefDescription": "Total Page Table Walks DC Type 1.",
"UMask": "0x2"
},
{
"EventName": "ls_tablewalker.dc_type0",
"EventCode": "0x46",
"BriefDescription": "Total Page Table Walks DC Type 0.",
"UMask": "0x1"
},
{ {
"EventName": "ls_misal_accesses", "EventName": "ls_misal_accesses",
"EventCode": "0x47", "EventCode": "0x47",
...@@ -123,35 +150,30 @@ ...@@ -123,35 +150,30 @@
"EventName": "ls_pref_instr_disp.prefetch_nta", "EventName": "ls_pref_instr_disp.prefetch_nta",
"EventCode": "0x4b", "EventCode": "0x4b",
"BriefDescription": "Software Prefetch Instructions (PREFETCHNTA instruction) Dispatched.", "BriefDescription": "Software Prefetch Instructions (PREFETCHNTA instruction) Dispatched.",
"PublicDescription": "Software Prefetch Instructions (PREFETCHNTA instruction) Dispatched.",
"UMask": "0x4" "UMask": "0x4"
}, },
{ {
"EventName": "ls_pref_instr_disp.store_prefetch_w", "EventName": "ls_pref_instr_disp.store_prefetch_w",
"EventCode": "0x4b", "EventCode": "0x4b",
"BriefDescription": "Software Prefetch Instructions (3DNow PREFETCHW instruction) Dispatched.", "BriefDescription": "Software Prefetch Instructions (3DNow PREFETCHW instruction) Dispatched.",
"PublicDescription": "Software Prefetch Instructions (3DNow PREFETCHW instruction) Dispatched.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "ls_pref_instr_disp.load_prefetch_w", "EventName": "ls_pref_instr_disp.load_prefetch_w",
"EventCode": "0x4b", "EventCode": "0x4b",
"BriefDescription": "Prefetch, Prefetch_T0_T1_T2.", "BriefDescription": "Software Prefetch Instructions Dispatched. Prefetch, Prefetch_T0_T1_T2.",
"PublicDescription": "Software Prefetch Instructions Dispatched. Prefetch, Prefetch_T0_T1_T2.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
"EventName": "ls_inef_sw_pref.mab_mch_cnt", "EventName": "ls_inef_sw_pref.mab_mch_cnt",
"EventCode": "0x52", "EventCode": "0x52",
"BriefDescription": "The number of software prefetches that did not fetch data outside of the processor core.", "BriefDescription": "The number of software prefetches that did not fetch data outside of the processor core. Software PREFETCH instruction saw a match on an already-allocated miss request buffer.",
"PublicDescription": "The number of software prefetches that did not fetch data outside of the processor core.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "ls_inef_sw_pref.data_pipe_sw_pf_dc_hit", "EventName": "ls_inef_sw_pref.data_pipe_sw_pf_dc_hit",
"EventCode": "0x52", "EventCode": "0x52",
"BriefDescription": "The number of software prefetches that did not fetch data outside of the processor core.", "BriefDescription": "The number of software prefetches that did not fetch data outside of the processor core. Software PREFETCH instruction saw a DC hit.",
"PublicDescription": "The number of software prefetches that did not fetch data outside of the processor core.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
......
...@@ -2,64 +2,55 @@ ...@@ -2,64 +2,55 @@
{ {
"EventName": "ic_oc_mode_switch.oc_ic_mode_switch", "EventName": "ic_oc_mode_switch.oc_ic_mode_switch",
"EventCode": "0x28a", "EventCode": "0x28a",
"BriefDescription": "OC to IC mode switch.", "BriefDescription": "OC Mode Switch. OC to IC mode switch.",
"PublicDescription": "OC Mode Switch. OC to IC mode switch.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "ic_oc_mode_switch.ic_oc_mode_switch", "EventName": "ic_oc_mode_switch.ic_oc_mode_switch",
"EventCode": "0x28a", "EventCode": "0x28a",
"BriefDescription": "IC to OC mode switch.", "BriefDescription": "OC Mode Switch. IC to OC mode switch.",
"PublicDescription": "OC Mode Switch. IC to OC mode switch.",
"UMask": "0x1" "UMask": "0x1"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.retire_token_stall", "EventName": "de_dis_dispatch_token_stalls0.retire_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "RETIRE Tokens unavailable.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. RETIRE Tokens unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. RETIRE Tokens unavailable.",
"UMask": "0x40" "UMask": "0x40"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.agsq_token_stall", "EventName": "de_dis_dispatch_token_stalls0.agsq_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "AGSQ Tokens unavailable.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. AGSQ Tokens unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. AGSQ Tokens unavailable.",
"UMask": "0x20" "UMask": "0x20"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.alu_token_stall", "EventName": "de_dis_dispatch_token_stalls0.alu_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "ALU tokens total unavailable.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALU tokens total unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALU tokens total unavailable.",
"UMask": "0x10" "UMask": "0x10"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.alsq3_0_token_stall", "EventName": "de_dis_dispatch_token_stalls0.alsq3_0_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 3_0 Tokens unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall.",
"UMask": "0x8" "UMask": "0x8"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.alsq3_token_stall", "EventName": "de_dis_dispatch_token_stalls0.alsq3_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "ALSQ 3 Tokens unavailable.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 3 Tokens unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 3 Tokens unavailable.",
"UMask": "0x4" "UMask": "0x4"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.alsq2_token_stall", "EventName": "de_dis_dispatch_token_stalls0.alsq2_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "ALSQ 2 Tokens unavailable.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 2 Tokens unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 2 Tokens unavailable.",
"UMask": "0x2" "UMask": "0x2"
}, },
{ {
"EventName": "de_dis_dispatch_token_stalls0.alsq1_token_stall", "EventName": "de_dis_dispatch_token_stalls0.alsq1_token_stall",
"EventCode": "0xaf", "EventCode": "0xaf",
"BriefDescription": "ALSQ 1 Tokens unavailable.", "BriefDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 1 Tokens unavailable.",
"PublicDescription": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. ALSQ 1 Tokens unavailable.",
"UMask": "0x1" "UMask": "0x1"
} }
] ]
...@@ -36,5 +36,5 @@ GenuineIntel-6-55-[56789ABCDEF],v1,cascadelakex,core ...@@ -36,5 +36,5 @@ GenuineIntel-6-55-[56789ABCDEF],v1,cascadelakex,core
GenuineIntel-6-7D,v1,icelake,core GenuineIntel-6-7D,v1,icelake,core
GenuineIntel-6-7E,v1,icelake,core GenuineIntel-6-7E,v1,icelake,core
GenuineIntel-6-86,v1,tremontx,core GenuineIntel-6-86,v1,tremontx,core
AuthenticAMD-23-([12][0-9A-F]|[0-9A-F]),v1,amdzen1,core AuthenticAMD-23-([12][0-9A-F]|[0-9A-F]),v2,amdzen1,core
AuthenticAMD-23-[[:xdigit:]]+,v1,amdzen2,core AuthenticAMD-23-[[:xdigit:]]+,v1,amdzen2,core
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