Re: [PATCH v7 12/13] selftests/resctrl: Disable MBA and MBM tests for AMD

From: Andre Przywara
Date: Fri May 10 2019 - 13:41:39 EST


On Sat, 9 Feb 2019 18:50:41 -0800
Fenghua Yu <fenghua.yu@xxxxxxxxx> wrote:

Hi,

> From: Babu Moger <babu.moger@xxxxxxx>
>
> For now, disable MBA and MBM tests for AMD. Deciding test pass/fail
> is not clear right now. We can enable when we have some clarity.

I don't think this is the right way. The availability of features should
be queryable, for instance by looking into /sys/fs/resctrl/info. Checking
for a certain vendor to skip tests just sounds wrong to me, and is
definitely not scalable or future proof.

We should really check the availability of a feature, then skip the whole
subsystem test in resctrl_tests.c.

Cheers,
Andre.

>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> ---
> tools/testing/selftests/resctrl/cat_test.c | 2 +-
> tools/testing/selftests/resctrl/resctrl_tests.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
> index 1a0f77e4f7bf..264bf2325f9e 100644
> --- a/tools/testing/selftests/resctrl/cat_test.c
> +++ b/tools/testing/selftests/resctrl/cat_test.c
> @@ -69,7 +69,7 @@ static void show_cache_info(unsigned long sum_llc_perf_miss, int no_of_bits,
> printf("Allocated cache lines: %lu \t", allocated_cache_lines);
> printf("Percent diff=%d \t", abs((int)diff_percent));
>
> - if (abs((int)diff_percent) > MAX_DIFF_PERCENT)
> + if (genuine_intel && (abs((int)diff_percent) > MAX_DIFF_PERCENT))
> printf("Failed\n");
> else
> printf("Passed\n");
> diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
> index 1d9adcfbdb4c..620be40b8c01 100644
> --- a/tools/testing/selftests/resctrl/resctrl_tests.c
> +++ b/tools/testing/selftests/resctrl/resctrl_tests.c
> @@ -197,7 +197,7 @@ int main(int argc, char **argv)
> sprintf(bw_report, "reads");
> sprintf(bm_type, "fill_buf");
>
> - if (mbm_test) {
> + if (genuine_intel && mbm_test) {
> printf("\nMBM BW Change Starting..\n");
> if (!has_ben)
> sprintf(benchmark_cmd[5], "%s", "mbm");
> @@ -207,7 +207,7 @@ int main(int argc, char **argv)
> mbm_test_cleanup();
> }
>
> - if (mba_test) {
> + if (genuine_intel && mba_test) {
> printf("\nMBA Schemata Change Starting..\n");
> if (!has_ben)
> sprintf(benchmark_cmd[5], "%s", "mba");