Message ID | 20220323080928.1586408-3-tan.shaopeng@jp.fujitsu.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d577380da04e410a31e7f944b04d838ab1c8a1c3 |
Headers | show |
Series | selftests/resctrl: Print a message if the result of MBM&CMT tests is failed on Intel CPU | expand |
On 3/23/22 2:09 AM, Shaopeng Tan wrote: > 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> Looks good to me. Reviewed-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c index 3e7cdf1125df..f8da3ecf67ef 100644 --- a/tools/testing/selftests/resctrl/resctrl_tests.c +++ b/tools/testing/selftests/resctrl/resctrl_tests.c @@ -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(); }