Re: [PATCH v1] perf vendor events intel: Fix broadwellde tma_info_system_dram_bw_use metric

From: Ian Rogers
Date: Tue Sep 26 2023 - 14:03:06 EST


On Tue, Sep 26, 2023 at 7:02 AM Liang, Kan <kan.liang@xxxxxxxxxxxxxxx> wrote:
>
>
>
> On 2023-09-25 11:10 p.m., Ian Rogers wrote:
> > Broadwell-de has a consumer core and server uncore.
>
> Besides this one, compared with the bdx-metrics.json, there is one
> uncore metrics missed in the bdwde-metrics.json, uncore_frequency.

You're right and I knew it related to this:
https://github.com/intel/perfmon/blob/cddf6ebe4cc23b71a5d8bf7fa007b3e2cb706c2e/scripts/create_perf_json.py#L760
On Tigerlake UNC_CLOCK.SOCKET works fine so maybe the exclusion was an error:
https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/pmu-events/arch/x86/tigerlake/uncore-other.json?h=perf-tools-next
On BDW-DE if I do the same trick as UNC_ARB and use the BDX resolution
then that works too. So I'll fix that and send out a v2.

Thanks,
Ian

> > The uncore_arb PMU
> > isn't present and the broadwellx style cbox PMU should be used
> > instead. Fix the tma_info_system_dram_bw_use metric to use the server
> > metric rather than client.>
> > The associated converter script fix is in:
> > https://github.com/intel/perfmon/pull/111
> >
> > Fixes: 7d124303d620 ("perf vendor events intel: Update broadwell variant events/metrics")
> > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
>
> Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> Thanks,
> Kan
> > ---
> > tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > 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 8fc62b8f667d..d0ef46c9bb61 100644
> > --- a/tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json
> > +++ b/tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json
> > @@ -652,7 +652,7 @@
> > },
> > {
> > "BriefDescription": "Average external Memory Bandwidth Use for reads and writes [GB / sec]",
> > - "MetricExpr": "64 * (arb@event\\=0x81\\,umask\\=0x1@ + arb@event\\=0x84\\,umask\\=0x1@) / 1e6 / duration_time / 1e3",
> > + "MetricExpr": "64 * (UNC_M_CAS_COUNT.RD + UNC_M_CAS_COUNT.WR) / 1e9 / duration_time",
> > "MetricGroup": "HPC;Mem;MemoryBW;SoC;tma_issueBW",
> > "MetricName": "tma_info_system_dram_bw_use",
> > "PublicDescription": "Average external Memory Bandwidth Use for reads and writes [GB / sec]. Related metrics: tma_fb_full, tma_mem_bandwidth, tma_sq_full"