Linux Perf Users
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Ian Rogers" <irogers@google.com>
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v1 04/21] perf vendor events intel: Update broadwell metrics to TMA 5.2
Date: Thu, 24 Sep 2026 05:49:00 +0000	[thread overview]
Message-ID: <20260924054900.959F61F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260924053645.3555041-5-irogers@google.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Low] perf: invalid event references in broadwell TMA metrics
- [Low] perf: dangling metric references in broadwell 'Related metrics'
--

commit c0c2967e366a8baed1a9336ee9569a4da8ff973c
Author: Ian Rogers <irogers@google.com>

perf vendor events intel: Update broadwell metrics to TMA 5.2
    
This commit updates the TMA metrics for Broadwell architectures to version 5.2
based on the intel/perfmon repository.

> diff --git a/tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json b/tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json
> index 1d8e910f59613..cd59e4a666b21 100644
> --- a/tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json
> +++ b/tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json
> @@ -160,7 +160,7 @@
>          "MetricGroup": "BvMS;DataSharing;LockCont;Offcore;Snoop;TopdownL4;tma_L4_group;tma_issueSyncxn;tma_l3_bound_group",
>          "MetricName": "tma_contested_accesses",
>          "MetricThreshold": "tma_contested_accesses > 0.05 & (tma_l3_bound > 0.05 & (tma_memory_bound > 0.2 & tma_backend_bound > 0.2))",
> -        "PublicDescription": "This metric estimates fraction of cycles while the memory subsystem was handling synchronizations due to contested accesses. Contested accesses occur when data written by one Logical Processor are read by another Logical Processor on a different Physical Core. Examples of contested accesses include synchronizations such as locks; true data sharing such as modified locked variables; and false sharing. Sample with: MEM_LOAD_L3_HIT_RETIRED.XSNP_HITM_PS;MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS_PS. Related metrics: tma_data_sharing, tma_false_sharing, tma_machine_clears, tma_remote_cache",
> +        "PublicDescription": "This metric estimates fraction of cycles while the memory subsystem was handling synchronizations due to contested accesses. Contested accesses occur when data written by one Logical Processor are read by another Logical Processor on a different Physical Core. Examples of contested accesses include synchronizations such as locks; true data sharing such as modified locked variables; and false sharing. Sample with: MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD;MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS. Related metrics: tma_data_sharing, tma_false_sharing, tma_machine_clears, tma_remote_cache",

[Severity: Low]
Does the MEM_LOAD_L3_HIT_RETIRED event support the XSNP_FWD modifier on
Broadwell?

If users follow the "Sample with:" recommendation and try to use these events
with perf record, won't it fail with an 'invalid event' error?

[ ... ]

> @@ -255,7 +245,7 @@
>          "MetricGroup": "BvMB;MemoryBW;TopdownL4;tma_L4_group;tma_issueBW;tma_issueSL;tma_issueSmSt;tma_l1_bound_group",
>          "MetricName": "tma_fb_full",
>          "MetricThreshold": "tma_fb_full > 0.3",
> -        "PublicDescription": "This metric does a *rough estimation* of how often L1D Fill Buffer unavailability limited additional L1D miss memory access requests to proceed. The higher the metric value; the deeper the memory hierarchy level the misses are satisfied from (metric values >1 are valid). Often it hints on approaching bandwidth limits (to L2 cache; L3 cache or external memory). Related metrics: tma_info_system_dram_bw_use, tma_mem_bandwidth, tma_sq_full, tma_store_latency, tma_streaming_stores",
> +        "PublicDescription": "This metric does a *rough estimation* of how often L1D Fill Buffer unavailability limited additional L1D miss memory access requests to proceed. The higher the metric value; the deeper the memory hierarchy level the misses are satisfied from (metric values >1 are valid). Often it hints on approaching bandwidth limits (to L2 cache; L3 cache or external memory). Related metrics: tma_info_system_dram_bw_use, tma_mem_bandwidth, tma_sq_full, tma_store_latency, tma_streaming_stores, tma_uc_bound",

[Severity: Low]
Is the tma_uc_bound metric actually defined for Broadwell architectures?

Referencing a missing metric in "Related metrics" creates a dead documentation
link for users inspecting metrics via perf list.

[ ... ]

> @@ -941,7 +940,7 @@
>          "MetricGroup": "FetchLat;MicroSeq;TopdownL3;tma_L3_group;tma_fetch_latency_group;tma_issueMC;tma_issueMS;tma_issueMV;tma_issueSO",
>          "MetricName": "tma_ms_switches",
>          "MetricThreshold": "tma_ms_switches > 0.05 & (tma_fetch_latency > 0.1 & tma_frontend_bound > 0.15)",
> -        "PublicDescription": "This metric estimates the fraction of cycles when the CPU was stalled due to switches of uop delivery to the Microcode Sequencer (MS). Commonly used instructions are optimized for delivery by the DSB (decoded i-cache) or MITE (legacy instruction decode) pipelines. Certain operations cannot be handled natively by the execution pipeline; and must be performed by microcode (small programs injected into the execution stream). Switching to the MS too often can negatively impact performance. The MS is designated to deliver long uop flows required by CISC instructions like CPUID; or uncommon conditions like Floating Point Assists when dealing with Denormals. Sample with: IDQ.MS_SWITCHES. Related metrics: tma_clears_resteers, tma_l1_bound, tma_machine_clears, tma_microcode_sequencer, tma_mixing_vectors, tma_serializing_operation",
> +        "PublicDescription": "This metric estimates the fraction of cycles when the CPU was stalled due to switches of uop delivery to the Microcode Sequencer (MS). Commonly used instructions are optimized for delivery by the DSB (decoded i-cache) or MITE (legacy instruction decode) pipelines. Certain operations cannot be handled natively by the execution pipeline; and must be performed by microcode (small programs injected into the execution stream). Switching to the MS too often can negatively impact performance. The MS is designated to deliver long uop flows required by CISC instructions like CPUID; or uncommon conditions like Floating Point Assists when dealing with Denormals. Sample with: IDQ.MS_SWITCHES. Related metrics: tma_clears_resteers, tma_info_inst_mix_vectormixpki, tma_l1_bound, tma_machine_clears, tma_microcode_sequencer, tma_mixing_vectors, tma_serializing_operation",

[Severity: Low]
Does the tma_info_inst_mix_vectormixpki metric exist for Broadwell?

Similar to tma_uc_bound above, referencing it here results in a dangling
documentation link if it is undefined.

[ ... ]

> diff --git a/tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json b/tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json
> index a5e408ca46a7e..a3e6835f4f847 100644
> --- a/tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json
> +++ b/tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json
> @@ -160,7 +160,7 @@
>          "MetricGroup": "BvMS;DataSharing;LockCont;Offcore;Snoop;TopdownL4;tma_L4_group;tma_issueSyncxn;tma_l3_bound_group",
>          "MetricName": "tma_contested_accesses",
>          "MetricThreshold": "tma_contested_accesses > 0.05 & (tma_l3_bound > 0.05 & (tma_memory_bound > 0.2 & tma_backend_bound > 0.2))",
> -        "PublicDescription": "This metric estimates fraction of cycles while the memory subsystem was handling synchronizations due to contested accesses. Contested accesses occur when data written by one Logical Processor are read by another Logical Processor on a different Physical Core. Examples of contested accesses include synchronizations such as locks; true data sharing such as modified locked variables; and false sharing. Sample with: MEM_LOAD_L3_HIT_RETIRED.XSNP_FWD;MEM_LOAD_L3_HIT_RETIRED.XSNP_MISS. Related metrics: tma_data_sharing, tma_false_sharing, tma_machine_clears, tma_remote_cache",
> +        "PublicDescription": "This metric estimates fraction of cycles while the memory subsystem was handling synchronizations due to contested accesses. Contested accesses occur when data written by one Logical Processor are read by another Logical Processor on a different Physical Core. Examples of contested accesses include synchronizations such as locks; true data sharing such as modified locked variables; and false sharing. Sample with: MEM_LOAD_L2_MISS_RETIRED.L3.SAME_CBB.HIT_ESF.SNP_MISS;MEM_LOAD_L2_MISS_RETIRED.OTHER_MODULE_L2.SAME_CBB.HIT_M.SNP_FWD. Related metrics: tma_data_sharing, tma_false_sharing, tma_machine_clears, tma_remote_cache",

[Severity: Low]
Are these MEM_LOAD_L2_MISS_RETIRED events valid for Broadwell-DE?

It appears these specific events might belong to newer architectures (like
Novalake or Arrowlake). Recommending them here could cause perf record to
fail with an 'invalid event' error.

[ ... ]

> diff --git a/tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json b/tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json
> index 5b83b040060c3..6b914b29bff95 100644
> --- a/tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json
> +++ b/tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json
> @@ -447,7 +437,7 @@
>          "MetricGroup": "BvMS;DataSharing;LockCont;Offcore;Snoop;TopdownL4;tma_L4_group;tma_issueSyncxn;tma_store_bound_group",
>          "MetricName": "tma_false_sharing",
>          "MetricThreshold": "tma_false_sharing > 0.05 & (tma_store_bound > 0.2 & (tma_memory_bound > 0.2 & tma_backend_bound > 0.2))",
> -        "PublicDescription": "This metric roughly estimates how often CPU was handling synchronizations due to False Sharing. False Sharing is a multithreading hiccup; where multiple Logical Processors contend on different data-elements mapped into the same cache line. Sample with: MEM_LOAD_L3_HIT_RETIRED.XSNP_HITM_PS;OFFCORE_RESPONSE.DEMAND_RFO.L3_HIT.SNOOP_HITM. Related metrics: tma_contested_accesses, tma_data_sharing, tma_machine_clears, tma_remote_cache",
> +        "PublicDescription": "This metric roughly estimates how often CPU was handling synchronizations due to False Sharing. False Sharing is a multithreading hiccup; where multiple Logical Processors contend on different data-elements mapped into the same cache line. Sample with: OCR.DEMAND_RFO.L3_HIT.SNOOP_HITM. Related metrics: tma_contested_accesses, tma_data_sharing, tma_machine_clears, tma_remote_cache",

[Severity: Low]
Does Broadwell-X use the 'OCR' prefix?

It seems 'OFFCORE_RESPONSE' is the expected prefix for this architecture,
meaning the suggested 'OCR' event might not be recognized by perf.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260924053645.3555041-1-irogers@google.com?part=4

  reply	other threads:[~2026-09-24  5:49 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-24  5:36 [PATCH v1 00/21] perf vendor events intel: update Ian Rogers
2026-09-24  5:36 ` [PATCH v1 01/21] perf vendor events intel: Update alderlake events from 1.40 to 1.41 Ian Rogers
2026-09-24  5:40   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 02/21] perf vendor events intel: Update alderlaken " Ian Rogers
2026-09-24  5:40   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 03/21] perf vendor events intel: Update arrowlake events from 1.20 to 1.21 Ian Rogers
2026-09-24  5:40   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 04/21] perf vendor events intel: Update broadwell metrics to TMA 5.2 Ian Rogers
2026-09-24  5:49   ` sashiko-bot [this message]
2026-09-24  5:36 ` [PATCH v1 05/21] perf vendor events intel: Update cascadelakex " Ian Rogers
2026-09-24  5:44   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 06/21] perf vendor events intel: Update emeraldrapids events from 1.24 to 1.25 Ian Rogers
2026-09-24  5:40   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 07/21] perf vendor events intel: Update graniterapids events from 1.20 to 1.21 Ian Rogers
2026-09-24  5:43   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 08/21] perf vendor events intel: Update haswell metrics to TMA 5.2 Ian Rogers
2026-09-24  5:43   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 09/21] perf vendor events intel: Update icelake events to 1.25 and TMA metrics to 5.2 Ian Rogers
2026-09-24  5:43   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 10/21] perf vendor events intel: Update icelakex events to 1.31 " Ian Rogers
2026-09-24  5:42   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 11/21] perf vendor events intel: Update ivybridge metrics to TMA 5.2 Ian Rogers
2026-09-24  5:44   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 12/21] perf vendor events intel: Update ivytown " Ian Rogers
2026-09-24  5:43   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 13/21] perf vendor events intel: Update jaketown " Ian Rogers
2026-09-24  5:47   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 14/21] perf vendor events intel: Update meteorlake events from 1.22 to 1.23 Ian Rogers
2026-09-24  5:41   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 15/21] perf vendor events intel: Update novalake events from 1.00 to 1.04 Ian Rogers
2026-09-24  5:49   ` sashiko-bot
2026-09-24 14:14     ` Ian Rogers
2026-09-24  5:36 ` [PATCH v1 16/21] perf vendor events intel: Update pantherlake events from 1.07 to 1.08 Ian Rogers
2026-09-24  5:41   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 17/21] perf vendor events intel: Update rocketlake events from 1.04 to 1.06 Ian Rogers
2026-09-24  5:41   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 18/21] perf vendor events intel: Update sandybridge metrics to TMA 5.2 Ian Rogers
2026-09-24  5:47   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 19/21] perf vendor events intel: Update sapphirerapids events from 1.39 to 1.40 Ian Rogers
2026-09-24  5:44   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 20/21] perf vendor events intel: Update skylake metrics to TMA 5.2 Ian Rogers
2026-09-24  5:46   ` sashiko-bot
2026-09-24  5:36 ` [PATCH v1 21/21] perf vendor events intel: Update tigerlake events to 1.20 and TMA metrics to 5.2 Ian Rogers
2026-09-24  5:46   ` sashiko-bot
2026-09-24  8:45 ` [PATCH v1 00/21] perf vendor events intel: update Mi, Dapeng
2026-09-24 17:03 ` [PATCH v2 00/26] " Ian Rogers
2026-09-24 17:03   ` [PATCH v2 01/26] perf vendor events intel: Update alderlake events from 1.40 to 1.41 Ian Rogers
2026-09-24 17:06     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 02/26] perf vendor events intel: Update alderlaken " Ian Rogers
2026-09-24 17:06     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 03/26] perf vendor events intel: Update arrowlake events from 1.20 to 1.21 Ian Rogers
2026-09-24 17:08     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 04/26] perf vendor events intel: Update broadwell metrics to TMA 5.2 Ian Rogers
2026-09-24 17:14     ` sashiko-bot
2026-09-28 16:49       ` Arnaldo Carvalho de Melo
2026-09-28 16:54         ` Ian Rogers
2026-09-28 17:01           ` Arnaldo Carvalho de Melo
2026-09-24 17:03   ` [PATCH v2 05/26] perf vendor events intel: Update cascadelakex " Ian Rogers
2026-09-24 17:12     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 06/26] perf vendor events intel: Update emeraldrapids events from 1.24 to 1.25 Ian Rogers
2026-09-24 17:10     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 07/26] perf vendor events intel: Update graniterapids events from 1.20 to 1.21 Ian Rogers
2026-09-24 17:09     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 08/26] perf vendor events intel: Update haswell metrics to TMA 5.2 Ian Rogers
2026-09-24 17:14     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 09/26] perf vendor events intel: Update icelake events to 1.25 and TMA metrics to 5.2 Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 10/26] perf vendor events intel: Update icelakex events to 1.31 " Ian Rogers
2026-09-24 17:08     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 11/26] perf vendor events intel: Update ivybridge metrics to TMA 5.2 Ian Rogers
2026-09-24 17:07     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 12/26] perf vendor events intel: Update ivytown " Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 13/26] perf vendor events intel: Update jaketown " Ian Rogers
2026-09-24 17:13     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 14/26] perf vendor events intel: Update meteorlake events from 1.22 to 1.23 Ian Rogers
2026-09-24 17:06     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 15/26] perf vendor events intel: Update novalake events from 1.00 to 1.04 Ian Rogers
2026-09-24 17:06     ` sashiko-bot
2026-09-28  1:04     ` Mi, Dapeng
2026-09-24 17:03   ` [PATCH v2 16/26] perf vendor events intel: Update pantherlake events from 1.07 to 1.08 Ian Rogers
2026-09-24 17:08     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 17/26] perf vendor events intel: Update rocketlake events from 1.04 to 1.06 Ian Rogers
2026-09-24 17:08     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 18/26] perf vendor events intel: Update sandybridge metrics to TMA 5.2 Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 19/26] perf vendor events intel: Update sapphirerapids events from 1.39 to 1.40 Ian Rogers
2026-09-24 17:10     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 20/26] perf vendor events intel: Update skylake metrics to TMA 5.2 Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 21/26] perf vendor events intel: Update tigerlake events to 1.20 and TMA metrics to 5.2 Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 22/26] perf vendor events intel: Fix clearwaterforest umask encoding Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 23/26] perf vendor events intel: Fix lunarlake " Ian Rogers
2026-09-24 17:19     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 24/26] perf vendor events intel: Fix sierraforest " Ian Rogers
2026-09-24 17:11     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 25/26] perf vendor events intel: Fix skylakex " Ian Rogers
2026-09-24 17:14     ` sashiko-bot
2026-09-24 17:03   ` [PATCH v2 26/26] perf vendor events intel: Fix snowridgex " Ian Rogers
2026-09-24 17:14     ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260924054900.959F61F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=irogers@google.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox