Re: [PATCH v3 07/10] selftests/resctrl: Raise threshold at which MBM and PMU values are compared

Ilpo Järvinen
2026-03-27T17:35:08Z

[-- Attachment #1: Type: text/plain, Size: 3515 bytes --]

On Fri, 13 Mar 2026, Reinette Chatre wrote:

> commit 501cfdba0a40 ("selftests/resctrl: Do not compare performance

Should start with a capital letter.

> counters and resctrl at low bandwidth") introduced a threshold under which
> memory bandwidth values from MBM and performance counters are not compared.
> This is needed because MBM and the PMUs do not have an identical view of
> memory bandwidth since PMUs can count all memory traffic while MBM does not
> count "overhead" (for example RAS) traffic that cannot be attributed to an
> RMID. As a ratio this difference in view of memory bandwidth is pronounced
> at low memory bandwidths.
>
> The 750MiB threshold was chosen arbitrarily after comparisons on different
> platforms. Exposed to more platforms after introduction this threshold has
> proven to be inadequate.
>
> Having accurate comparison between performance counters and MBM requires
> careful management of system load as well as control of features that
> introduce extra memory traffic, for example, patrol scrub. This is not
> appropriate for the resctrl selftests that are intended to run on a
> variety of systems with various configurations.
>
> Increase the memory bandwidth threshold under which no comparison is made
> between performance counters and MBM. Add additional leniency by increasing
> the percentage of difference that will be tolerated between these counts.
>
> There is no impact to the validity of the resctrl selftests results as a
> measure of resctrl subsystem health.
>
> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
> Tested-by: Chen Yu <yu.c.chen@intel.com>
> ---
> Changes since v2:
> - Add Chen Yu's tag.
> ---
> tools/testing/selftests/resctrl/mba_test.c | 2 +-
> tools/testing/selftests/resctrl/mbm_test.c | 2 +-
> tools/testing/selftests/resctrl/resctrl.h | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c
> index cd4c715b7ffd..39cee9898359 100644
> --- a/tools/testing/selftests/resctrl/mba_test.c
> +++ b/tools/testing/selftests/resctrl/mba_test.c
> @@ -12,7 +12,7 @@
>
> #define RESULT_FILE_NAME "result_mba"
> #define NUM_OF_RUNS 5
> -#define MAX_DIFF_PERCENT 8
> +#define MAX_DIFF_PERCENT 15
> #define ALLOCATION_MAX 100
> #define ALLOCATION_MIN 10
> #define ALLOCATION_STEP 10
> diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c
> index 58201f844740..6dbbc3b76003 100644
> --- a/tools/testing/selftests/resctrl/mbm_test.c
> +++ b/tools/testing/selftests/resctrl/mbm_test.c
> @@ -11,7 +11,7 @@
> #include "resctrl.h"
>
> #define RESULT_FILE_NAME "result_mbm"
> -#define MAX_DIFF_PERCENT 8
> +#define MAX_DIFF_PERCENT 15
> #define NUM_OF_RUNS 5
>
> static int
> diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h
> index 7f2ab28be857..3bad2d80c09b 100644
> --- a/tools/testing/selftests/resctrl/resctrl.h
> +++ b/tools/testing/selftests/resctrl/resctrl.h
> @@ -55,7 +55,7 @@
> * and MBM respectively, for instance generating "overhead" traffic which
> * is not counted against any specific RMID.
> */
> -#define THROTTLE_THRESHOLD 750
> +#define THROTTLE_THRESHOLD 2500
>
> /*
> * fill_buf_param: "fill_buf" benchmark parameters
>

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

--
i.