The MBA and CMT tests expect support of other features to be able to
run.

When platform only supports MBA but not MBM, MBA test will fail with:
Failed to open total bw file: No such file or directory

When platform only supports CMT but not CAT, CMT test will fail with:
Failed to open bit mask file '/sys/fs/resctrl/info/L3/cbm_mask': No such file 
or directory

Extend feature checks to cover these two conditions.

Fixes: ee0415681eb6 ("selftests/resctrl: Use resctrl/info for feature 
detection")
Signed-off-by: Ilpo Järvinen <[email protected]>
Cc: <[email protected]> # selftests/resctrl: Refactor feature check to use 
resource and feature name
---
 tools/testing/selftests/resctrl/resctrl_tests.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c 
b/tools/testing/selftests/resctrl/resctrl_tests.c
index b13aee5dffb9..836dfe5c0b4d 100644
--- a/tools/testing/selftests/resctrl/resctrl_tests.c
+++ b/tools/testing/selftests/resctrl/resctrl_tests.c
@@ -124,7 +124,9 @@ static void run_mba_test(const char * const *benchmark_cmd, 
int cpu_no)
        if (test_prepare())
                return;
 
-       if (!validate_resctrl_feature_request("MB", NULL) || (get_vendor() != 
ARCH_INTEL)) {
+       if (!validate_resctrl_feature_request("MB", NULL) ||
+           !validate_resctrl_feature_request("L3_MON", "mbm_local_bytes") ||
+           (get_vendor() != ARCH_INTEL)) {
                ksft_test_result_skip("Hardware does not support MBA or MBA is 
disabled\n");
                goto cleanup;
        }
@@ -145,7 +147,8 @@ static void run_cmt_test(const char * const *benchmark_cmd, 
int cpu_no)
        if (test_prepare())
                return;
 
-       if (!validate_resctrl_feature_request("L3_MON", "llc_occupancy")) {
+       if (!validate_resctrl_feature_request("L3_MON", "llc_occupancy") ||
+           !validate_resctrl_feature_request("L3", NULL)) {
                ksft_test_result_skip("Hardware does not support CMT or CMT is 
disabled\n");
                goto cleanup;
        }
-- 
2.30.2

Reply via email to