On Fri, 13 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]> > Tested-by: Chen Yu <[email protected]> > --- > Changes since v2: > - Add Chen Yu's tag. > --- > tools/testing/selftests/resctrl/cat_test.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tools/testing/selftests/resctrl/cat_test.c > b/tools/testing/selftests/resctrl/cat_test.c > index 6aac03147d41..371a2f26dc47 100644 > --- a/tools/testing/selftests/resctrl/cat_test.c > +++ b/tools/testing/selftests/resctrl/cat_test.c > @@ -157,6 +157,10 @@ static int cat_test(const struct resctrl_test *test, > if (ret) > goto reset_affinity; > > + ret = minimize_l2_occupancy(test, uparams, param); > + if (ret) > + goto reset_affinity; > + > perf_event_attr_initialize(&pea, PERF_COUNT_HW_CACHE_MISSES); > pe_fd = perf_open(&pea, bm_pid, uparams->cpu); > if (pe_fd < 0) { >
Reviewed-by: Ilpo Järvinen <[email protected]> -- i.

