]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/resctrl: Raise threshold at which MBM and PMU values are compared
authorReinette Chatre <reinette.chatre@intel.com>
Sat, 4 Apr 2026 01:56:06 +0000 (18:56 -0700)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 5 May 2026 00:40:02 +0000 (18:40 -0600)
Commit 501cfdba0a40 ("selftests/resctrl: Do not compare performance
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.

Link: https://lore.kernel.org/r/b374c33ddd324130d6255cbb91c3dd500e8277e7.1775266384.git.reinette.chatre@intel.com
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Tested-by: Chen Yu <yu.c.chen@intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/resctrl/mba_test.c
tools/testing/selftests/resctrl/mbm_test.c
tools/testing/selftests/resctrl/resctrl.h

index cd4c715b7ffd2ce66340e013511ecb850ab54ff6..39cee98983592ebdab5b66905f8c871c18a764aa 100644 (file)
@@ -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
index 58201f844740414f160a6cfc0010931f46306003..6dbbc3b7600337245bdfa934358aee88fab28859 100644 (file)
@@ -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
index 7f2ab28be8571ac54f93552d08660746275053e3..3bad2d80c09b2f3646fd8645a6fbe1017e633722 100644 (file)
@@ -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