selftests/resctrl: Print a message if the result of MBM&CMT tests is failed on Intel CPU
authorShaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Wed, 23 Mar 2022 08:09:28 +0000 (17:09 +0900)
committerShuah Khan <skhan@linuxfoundation.org>
Mon, 25 Apr 2022 22:58:01 +0000 (16:58 -0600)
According to "Intel Resource Director Technology (Intel RDT) on
2nd Generation Intel Xeon Scalable Processors Reference Manual",
When the Intel Sub-NUMA Clustering(SNC) feature is enabled,
Intel CMT and MBM counters may not be accurate.

However, there does not seem to be an architectural way to detect
if SNC is enabled.

If the result of MBM&CMT test fails on Intel CPU,
print a message to let users know a possible cause of failure.

Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/resctrl/resctrl_tests.c

index 3e7cdf1125df4236ca28a12f9ab75eec0e90dcf0..f8da3ecf67ef14e2ed887e8e8bb222c753a2aff7 100644 (file)
@@ -86,6 +86,8 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span,
                sprintf(benchmark_cmd[5], "%s", MBA_STR);
        res = mbm_bw_change(span, cpu_no, bw_report, benchmark_cmd);
        ksft_test_result(!res, "MBM: bw change\n");
+       if ((get_vendor() == ARCH_INTEL) && res)
+               ksft_print_msg("Intel MBM may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n");
        mbm_test_cleanup();
 }
 
@@ -122,6 +124,8 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no)
                sprintf(benchmark_cmd[5], "%s", CMT_STR);
        res = cmt_resctrl_val(cpu_no, 5, benchmark_cmd);
        ksft_test_result(!res, "CMT: test\n");
+       if ((get_vendor() == ARCH_INTEL) && res)
+               ksft_print_msg("Intel CMT may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n");
        cmt_test_cleanup();
 }