Hi Ilpo, On 3/6/26 2:35 AM, Ilpo Järvinen wrote: > On Tue, 3 Mar 2026, Reinette Chatre wrote: > >> The L3 CAT test loads a buffer into cache that is proportional to the L3 >> size allocated for the workload and measures cache misses when accessing >> the buffer as a test of L3 occupancy. When loading the buffer it can be >> assumed that a portion of the buffer will be loaded into the L2 cache and >> depending on cache design may not be present in L3. It is thus possible >> for data to not be in L3 but also not trigger an L3 cache miss when >> accessed. >> >> Reduce impact of L2 on the L3 CAT test by, if L2 allocation is supported, >> minimizing the portion of L2 that the workload can allocate into. This >> encourages most of buffer to be loaded into L3 and support better >> comparison between buffer size, cache portion, and cache misses when >> accessing the buffer. >> >> Signed-off-by: Reinette Chatre <[email protected]> >> --- >> tools/testing/selftests/resctrl/cat_test.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/tools/testing/selftests/resctrl/cat_test.c >> b/tools/testing/selftests/resctrl/cat_test.c >> index 6aac03147d41..26062684a9f4 100644 >> --- a/tools/testing/selftests/resctrl/cat_test.c >> +++ b/tools/testing/selftests/resctrl/cat_test.c >> @@ -157,6 +157,12 @@ static int cat_test(const struct resctrl_test *test, >> if (ret) >> goto reset_affinity; >> >> + if (!strcmp(test->resource, "L3") && resctrl_resource_exists("L2")) { >> + ret = write_schemata(param->ctrlgrp, "0x1", uparams->cpu, "L2"); >> + if (ret) >> + goto reset_affinity; >> + } > > This looks similar to what you did in the CMT test. Maybe add a common > function for minimizing L2 cache size so it doesn't have to duplicated to > all L3 related tests.
Sure. Reinette

