Re: [PATCH v5 11/24] perf vendor events: Update/add Graniterapids events/metrics

From: Ian Rogers
Date: Wed Feb 05 2025 - 15:23:40 EST


On Wed, Feb 5, 2025 at 11:11 AM Liang, Kan <kan.liang@xxxxxxxxxxxxxxx> wrote:
>
>
>
> On 2025-02-05 12:31 p.m., Ian Rogers wrote:
> > + {
> > + "BriefDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired",
> > + "MetricExpr": "topdown\\-retiring / (topdown\\-fe\\-bound + topdown\\-bad\\-spec + topdown\\-retiring + topdown\\-be\\-bound) + 0 * slots",
> > + "MetricGroup": "BvUW;TmaL1;TopdownL1;tma_L1_group",
> > + "MetricName": "tma_retiring",
> > + "MetricThreshold": "tma_retiring > 0.7 | tma_heavy_operations > 0.1",
> > + "MetricgroupNoGroup": "TopdownL1",
> > + "PublicDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. Ideally; all pipeline slots would be attributed to the Retiring category. Retiring of 100% would indicate the maximum Pipeline_Width throughput was achieved. Maximizing Retiring typically increases the Instructions-per-cycle (see IPC metric). Note that a high Retiring value does not necessary mean there is no room for more performance. For example; Heavy-operations or Microcode Assists are categorized under Retiring. They often indicate suboptimal performance and can often be optimized or avoided. Sample with: UOPS_RETIRED.SLOTS",
> > + "ScaleUnit": "100%"
> > + },
>
> The "Default" tag is missed for GNR as well.
> It seems the new CPUIDs are not added in the script?

Spotted it, we need to manually say which architectures with TopdownL1
should be in Default because it was insisted upon that pre-Icelake
CPUs with TopdownL1 not have TopdownL1 in Default. As you know, my
preference would be to always put TopdownL1 metrics into Default.

Thanks,
Ian