The resctrl selftests check L3 cache isolation L3_CAT and occupancy
accuracy CMT, but some basic L3 behavior is untested. That CBM writes
are handle correctly and that info/L3/bit_usage reports allocations
correctly.

Add two self-contained tests for these. Each gates on the feature it
needs, so it runs wherever that feature exists and skips otherwise.
They were exercised on an arm64 MPAM platform.

Changes since v1:
- Drop L3_CAT_OCCUP because CMT already tests cache occupancy bounds.
- Rework L3_CAT_VALIDATE as L3_CBM_VALIDATE to check valid and invalid
  CBMs using cbm_mask and min_cbm_bits.
- Rework L3_BIT_USAGE to use valid partial allocations and simplify
  domain bit_usage parsing.


Running checkpatch.pl will have warning on patch 1 about string issue,
I've tweaked it for several times so I'll let you decide whether we
should decrease the message or leave it as is.


Richard Cheng (2):
  selftests/resctrl: Add L3_CBM_VALIDATE to check CBM writes
  selftests/resctrl: Add L3_BIT_USAGE to check allocation reporting

 tools/testing/selftests/resctrl/cat_test.c    | 285 ++++++++++++++++++
 tools/testing/selftests/resctrl/resctrl.h     |   2 +
 .../testing/selftests/resctrl/resctrl_tests.c |   2 +
 3 files changed, 289 insertions(+)


base-commit: 840ef6c78e6a2f694b578ecb9063241c992aaa9e
-- 
2.53.0


Reply via email to