Re: [PATCH] selftests/resctrl: Allow CAT testing when no exclusive cache exists

From: Ilpo Järvinen

Date: Wed May 27 2026 - 05:59:59 EST


On Tue, 26 May 2026, Reinette Chatre wrote:
> On 5/26/26 6:57 PM, Chen, Yu C wrote:
> > My thinking was that shareable_bits only describes portions that may
> > be shared with non-CPU agents, and on an otherwise idle test system
> > the CAT miss-rate trend can still be observed even if all ways are
> > marked shareable. But I agree that this is not a good assumption for
> > kselftest pass/fail.
> >
> > So I agree that falling back to the full CBM is not the right fix for
> > this test. I will change the patch to skip L3_CAT when no exclusive
> > cache portion is available, with a message explaining that the performance
> > test cannot run reliably because all cache portions are shareable.
>
> Sounds like https://lore.kernel.org/lkml/20260526024251.7895-1-icheng@xxxxxxxxxx/
> does what you need.
>
> >
> > For platforms where all cache ways are marked shareable, do you think
> > providing a extra parameter to ask cat_test to "ignore" the share
> > restriction is acceptable?
>
> While resctrl tests support command line arguments I do not know if they
> are actually being used. During a previous rework we found that they were
> not behaving as intended and we did not receive any complaints. Even if
> somebody uses the hypothetical "ignore" parameter I do not see how the test
> result can be trusted unless this is done as part of some hardware validation
> that resctrl selftests do not aim to support. resctrl selftests are intended to
> test the resctrl kernel subsystem.
>
> I think effort is better spent on creating an actual CAT functional test.
>
> For reference: https://lore.kernel.org/lkml/20250616082453.3725-1-ilpo.jarvinen@xxxxxxxxxxxxxxx/

Unfortunately I got stuck with that series as I couldn't figure out how
to bend the build system to get the msr code out of resctrl selftest
(I've tried it multiple times). Other than that challenge, I'd have the
other comments addressed in my local version.

--
i.