* [PATCH] selftests/resctrl: Add ARM vendor detection and fix non-contig CBM check
@ 2026-05-26 2:39 Richard Cheng
2026-05-26 2:51 ` Fenghua Yu
0 siblings, 1 reply; 3+ messages in thread
From: Richard Cheng @ 2026-05-26 2:39 UTC (permalink / raw)
To: tony.luck, reinette.chatre, shuah
Cc: Dave.Martin, james.morse, babu.moger, linux-kernel,
linux-kselftest, fenghuay, newtonl, kristinc, kaihengf, kobak,
Richard Cheng
aarch64 has no vendor_id in /proc/cpuinfo, so detect_vendor() returns 0
and arch_supports_noncont_cat() falls through to "return false".
L3_NONCONT_CAT spuriously fails on every ARM MPAM platform.
Define ARCH_ARM, short-circuite detect_vendor() to it on aarch64, and
add it to the AMD/Hygon alwasy-supports early-out in
arch_support_noncont_cat().
aarch64 has many implementers (ARM 0x41, NVIDIA 0x43, etc...) but MPAM
mandates non-contiguous CPBM uniformly, so per-implementer bits is not
needed here.
Signed-off-by: Richard Cheng <icheng@nvidia.com>
---
tools/testing/selftests/resctrl/cat_test.c | 9 +++++++--
tools/testing/selftests/resctrl/resctrl.h | 1 +
tools/testing/selftests/resctrl/resctrl_tests.c | 11 +++++++++++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
index f00b622c1460..37ca70523ed2 100644
--- a/tools/testing/selftests/resctrl/cat_test.c
+++ b/tools/testing/selftests/resctrl/cat_test.c
@@ -292,8 +292,13 @@ static bool arch_supports_noncont_cat(const struct resctrl_test *test)
{
unsigned int vendor_id = get_vendor();
- /* AMD and Hygon always support non-contiguous CBM. */
- if (vendor_id == ARCH_AMD || vendor_id == ARCH_HYGON)
+ /*
+ * AMD and Hygon always support non-contiguous CBM. ARM/MPAM
+ * defines MPAMCFG_CPBM as a bitmap with no contiguity constraint
+ * per ARM DDI 0598.
+ */
+ if (vendor_id == ARCH_AMD || vendor_id == ARCH_HYGON ||
+ vendor_id == ARCH_ARM)
return true;
#if defined(__i386__) || defined(__x86_64__) /* arch */
diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h
index afe635b6e48d..670e5b128b4d 100644
--- a/tools/testing/selftests/resctrl/resctrl.h
+++ b/tools/testing/selftests/resctrl/resctrl.h
@@ -40,6 +40,7 @@
#define ARCH_INTEL BIT(0)
#define ARCH_AMD BIT(1)
#define ARCH_HYGON BIT(2)
+#define ARCH_ARM BIT(3)
#define END_OF_TESTS 1
diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
index dbcd5eea9fbc..b97d3541fcb2 100644
--- a/tools/testing/selftests/resctrl/resctrl_tests.c
+++ b/tools/testing/selftests/resctrl/resctrl_tests.c
@@ -34,6 +34,17 @@ static unsigned int detect_vendor(void)
if (initialized)
return vendor_id;
+#if defined(__aarch64__)
+ /*
+ * aarch64 has no userspace vendor_id in /proc/cpuinfo. MPAM-capable
+ * ARM implementations follow ARM DDI 0598; treat all aarch64 builds
+ * as a single vendor for the purposes of resctrl selftests.
+ */
+ vendor_id = ARCH_ARM;
+ initialized = true;
+ return vendor_id;
+#endif
+
inf = fopen("/proc/cpuinfo", "r");
if (!inf) {
vendor_id = 0;
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests/resctrl: Add ARM vendor detection and fix non-contig CBM check
2026-05-26 2:39 [PATCH] selftests/resctrl: Add ARM vendor detection and fix non-contig CBM check Richard Cheng
@ 2026-05-26 2:51 ` Fenghua Yu
2026-05-27 4:15 ` Richard Cheng
0 siblings, 1 reply; 3+ messages in thread
From: Fenghua Yu @ 2026-05-26 2:51 UTC (permalink / raw)
To: Richard Cheng, tony.luck, reinette.chatre, shuah
Cc: Dave.Martin, james.morse, babu.moger, linux-kernel,
linux-kselftest, newtonl, kristinc, kaihengf, kobak
Hi, Richard,
On 5/25/26 19:39, Richard Cheng wrote:
> aarch64 has no vendor_id in /proc/cpuinfo, so detect_vendor() returns 0
> and arch_supports_noncont_cat() falls through to "return false".
> L3_NONCONT_CAT spuriously fails on every ARM MPAM platform.
>
> Define ARCH_ARM, short-circuite detect_vendor() to it on aarch64, and
> add it to the AMD/Hygon alwasy-supports early-out in
> arch_support_noncont_cat().
>
> aarch64 has many implementers (ARM 0x41, NVIDIA 0x43, etc...) but MPAM
> mandates non-contiguous CPBM uniformly, so per-implementer bits is not
> needed here.
>
> Signed-off-by: Richard Cheng <icheng@nvidia.com>
I see you have three patches for selftest. Seems they are together. But
they are not assembled in a series like [PATCH 1/3], [PATCH 2/3], [PATCH
3/3].
Could you please send them in a series?
Thanks.
-Fenghua
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests/resctrl: Add ARM vendor detection and fix non-contig CBM check
2026-05-26 2:51 ` Fenghua Yu
@ 2026-05-27 4:15 ` Richard Cheng
0 siblings, 0 replies; 3+ messages in thread
From: Richard Cheng @ 2026-05-27 4:15 UTC (permalink / raw)
To: Fenghua Yu
Cc: tony.luck, reinette.chatre, shuah, Dave.Martin, james.morse,
babu.moger, linux-kernel, linux-kselftest, newtonl, kristinc,
kaihengf, kobak
On Mon, May 25, 2026 at 07:51:16PM +0800, Fenghua Yu wrote:
> Hi, Richard,
>
> On 5/25/26 19:39, Richard Cheng wrote:
> > aarch64 has no vendor_id in /proc/cpuinfo, so detect_vendor() returns 0
> > and arch_supports_noncont_cat() falls through to "return false".
> > L3_NONCONT_CAT spuriously fails on every ARM MPAM platform.
> >
> > Define ARCH_ARM, short-circuite detect_vendor() to it on aarch64, and
> > add it to the AMD/Hygon alwasy-supports early-out in
> > arch_support_noncont_cat().
> >
> > aarch64 has many implementers (ARM 0x41, NVIDIA 0x43, etc...) but MPAM
> > mandates non-contiguous CPBM uniformly, so per-implementer bits is not
> > needed here.
> >
> > Signed-off-by: Richard Cheng <icheng@nvidia.com>
>
> I see you have three patches for selftest. Seems they are together. But they
> are not assembled in a series like [PATCH 1/3], [PATCH 2/3], [PATCH 3/3].
>
> Could you please send them in a series?
>
> Thanks.
>
> -Fenghua
Hi Fenghua,
Thanks, I'll organize them in a serie and send a v2.
Best regards,
Richard Cheng.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-27 4:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-26 2:39 [PATCH] selftests/resctrl: Add ARM vendor detection and fix non-contig CBM check Richard Cheng
2026-05-26 2:51 ` Fenghua Yu
2026-05-27 4:15 ` Richard Cheng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®