[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f235df30-7b88-4ae7-88f8-399437e85461@intel.com>
Date: Tue, 10 Feb 2026 08:52:51 -0800
From: Reinette Chatre <reinette.chatre@...el.com>
To: Zide Chen <zide.chen@...el.com>, Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>, Ian Rogers <irogers@...gle.com>, "Adrian
Hunter" <adrian.hunter@...el.com>, Alexander Shishkin
<alexander.shishkin@...ux.intel.com>, Andi Kleen <ak@...ux.intel.com>,
Eranian Stephane <eranian@...gle.com>, Babu Moger <babu.moger@....com>, "Tony
luck" <tony.luck@...el.com>, Dapeng Mi <dapeng1.mi@...ux.intel.com>
CC: <linux-kernel@...r.kernel.org>, <linux-perf-users@...r.kernel.org>,
<stable@...r.kernel.org>
Subject: Re: [PATCH] perf/x86/intel/uncore: Add per-scheduler IMC CAS count
events
On 2/9/26 4:52 PM, Zide Chen wrote:
> IMC on SPR and EMR does not support sub-channels. In contrast, CPUs
> that use gnr_uncores[] (e.g. Granite Rapids and Sierra Forest)
> implement two command schedulers (SCH0/SCH1) per memory channel,
> providing logically independent command and data paths.
>
> Do not reuse the spr_uncore_imc[] configuration for these CPUs.
> Instead, introduce a dedicated gnr_uncore_imc[] with per-scheduler
> events, so userspace can monitor SCH0 and SCH1 independently.
>
> On these CPUs, replace cas_count_{read,write} with
> cas_count_{read,write}_sch{0,1}. This may break existing userspace
> that relies on cas_count_{read,write}, prompting it to switch to the
> per-scheduler events, as the legacy event reports only partial
> traffic (SCH0).
>
> Reported-by: Reinette Chatre <reinette.chatre@...el.com>
> Fixes: 632c4bf6d007 ("perf/x86/intel/uncore: Support Granite Rapids")
> Fixes: cb4a6ccf3583 ("perf/x86/intel/uncore: Support Sierra Forest and Grand Ridge")
> Cc: stable@...r.kernel.org
> Signed-off-by: Zide Chen <zide.chen@...el.com>
> ---
The resctrl selftests compare the read memory bandwidth reported by
iMC PMUs against resctrl's memory bandwidth monitoring (MBM) numbers. These
tests are failing on Granite Rapids and Sierra Forest because the tests use
the event/umask obtained from
/sys/bus/event_source/devices/uncore_imc_N/events/cas_count_read
that only measures about half the bandwidth reported by MBM.
When using this patch and adapting [1] the resctrl selftests to use the new
interface to learn about the additional events it is possible to get the
accurate iMC PMU memory bandwidth measurements that match values reported by MBM.
Thank you very much!
Tested-by: Reinette Chatre <reinette.chatre@...el.com>
Reinette
[1] https://lore.kernel.org/lkml/cover.1770406608.git.reinette.chatre@intel.com/
Powered by blists - more mailing lists