* [PATCH v5] selftests/resctrl: Skip L3_CAT when no exclusive cache portion exists
@ 2026-08-21 0:39 Richard Cheng
0 siblings, 0 replies; only message in thread
From: Richard Cheng @ 2026-08-21 0:39 UTC (permalink / raw)
To: tony.luck, reinette.chatre, x86, fenghuay
Cc: Dave.Martin, james.morse, babu.moger, shuah, linux-kernel,
linux-kselftest, newtonl, kristinc, kobak, kaihengf, ltrager,
yu.c.chen, ilpo.jarvinen, Richard Cheng
L3_CAT requires an exclusive cache portion to test cache allocation.
This means that the cache portion used by the test can't overlap with
cache portions into which other agents may allocate.
Some platforms legitimately report every cache portion as shareable,
leaving no exclusive cache portion for the test and causing L3_CAT to
fail.
Skip the L3_CAT when the platform has no exclusive cache portion that
the test can use.
Tested-by: Chen Yu <yu.c.chen@intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Richard Cheng <icheng@nvidia.com>
---
Changelog:
v4 -> v5:
- Split the patch from the arm64-specific series and post it standalone
- Reword the commit message
- Make the code comment and diagnostic platform-neutral and describe the
exclusive-cache-portion requirement.
Best regards,
Richard Cheng.
---
tools/testing/selftests/resctrl/cat_test.c | 23 +++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
index 371a2f26dc47..0a417267dd74 100644
--- a/tools/testing/selftests/resctrl/cat_test.c
+++ b/tools/testing/selftests/resctrl/cat_test.c
@@ -357,11 +357,32 @@ static bool noncont_cat_feature_check(const struct resctrl_test *test)
return resource_info_file_exists(test->resource, "sparse_masks");
}
+static bool cat_feature_check(const struct resctrl_test *test)
+{
+ unsigned long mask;
+
+ if (!test_resource_feature_check(test))
+ return false;
+
+ /*
+ * Test requires an exclusive cache portion. Some platforms may
+ * legitimately report all bits as shareable, skip the test if that
+ * is the case.
+ */
+ if (get_mask_no_shareable(test->resource, &mask)) {
+ ksft_print_msg("All %s bits are shareable, test requires an exclusive cache portion\n",
+ test->resource);
+ return false;
+ }
+
+ return true;
+}
+
struct resctrl_test l3_cat_test = {
.name = "L3_CAT",
.group = "CAT",
.resource = "L3",
- .feature_check = test_resource_feature_check,
+ .feature_check = cat_feature_check,
.run_test = cat_run_test,
.cleanup = cat_test_cleanup,
};
base-commit: a4ff2be345d0abc943da8dd8da98151843b750dc
--
2.43.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-21 0:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-21 0:39 [PATCH v5] selftests/resctrl: Skip L3_CAT when no exclusive cache portion exists Richard Cheng
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.