Some results include warm-up tests which are discarded before passing
the sum to show_cache_info(). Currently, show_cache_info() handles this
by subtracting one from the number of tests in divisor. It is a trappy
construct to have sum and number of tests parameters to disagree like
this.
A more logical place for subtracting the skipped tests is where the sum
is calculated so move it there. Pass the correct number of tests to
show_cache_info() soit can use directly as the divisor for calculating
the average.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
tools/testing/selftests/resctrl/cache.c | 2 +-
tools/testing/selftests/resctrl/cat_test.c | 2 +-
tools/testing/selftests/resctrl/cmt_test.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
Hi Ilpo,
On 4/18/2023 4:45 AM, Ilpo Järvinen wrote:
> Some results include warm-up tests which are discarded before passing
> the sum to show_cache_info(). Currently, show_cache_info() handles this
Please drop "Currently".
> by subtracting one from the number of tests in divisor. It is a trappy
> construct to have sum and number of tests parameters to disagree like
> this.
>
> A more logical place for subtracting the skipped tests is where the sum
> is calculated so move it there. Pass the correct number of tests to
> show_cache_info() soit can use directly as the divisor for calculating
> the average.
This is not clear to me. How about "soit can use directly" -> "so it
can be used directly"?
Reinette
@@ -312,7 +312,7 @@ int show_cache_info(unsigned long sum_llc_val, int no_of_bits,
long avg_diff = 0;
int ret;
- avg_llc_val = sum_llc_val / (num_of_runs - 1);
+ avg_llc_val = sum_llc_val / num_of_runs;
avg_diff = (long)abs(cache_span - avg_llc_val);
diff_percent = ((float)cache_span - avg_llc_val) / cache_span * 100;
@@ -81,7 +81,7 @@ static int check_results(struct resctrl_val_param *param)
no_of_bits = count_consecutive_bits(param->mask, NULL);
return show_cache_info(sum_llc_perf_miss, no_of_bits, param->span / 64,
- MAX_DIFF, MAX_DIFF_PERCENT, NUM_OF_RUNS,
+ MAX_DIFF, MAX_DIFF_PERCENT, runs - 1,
get_vendor() == ARCH_INTEL, false);
}
@@ -63,7 +63,7 @@ static int check_results(struct resctrl_val_param *param, int no_of_bits)
fclose(fp);
return show_cache_info(sum_llc_occu_resc, no_of_bits, param->span,
- MAX_DIFF, MAX_DIFF_PERCENT, NUM_OF_RUNS,
+ MAX_DIFF, MAX_DIFF_PERCENT, runs - 1,
true, true);
}