On Tue, 7 May 2024, Reinette Chatre wrote: > Hi John, > > On 5/7/2024 6:25 PM, John Hubbard wrote: > > On 5/7/24 6:21 PM, Reinette Chatre wrote: > >> Hi John, > > ... > >> > >> The following (what was in v1) looks good to me. What am I missing? > >> > >> diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c > >> index a81f91222a89..05a241519ae8 100644 > >> --- a/tools/testing/selftests/resctrl/cmt_test.c > >> +++ b/tools/testing/selftests/resctrl/cmt_test.c > >> @@ -40,11 +40,11 @@ static int show_results_info(unsigned long sum_llc_val, int no_of_bits, > >> int ret; > >> avg_llc_val = sum_llc_val / num_of_runs; > >> - avg_diff = (long)abs(cache_span - avg_llc_val); > >> + avg_diff = (long)(cache_span - avg_llc_val); > > > > This deletes the abs() call, because I incorrectly let clang's warning > > lead me to believe that the abs() call was a no-op. But both you and Ilpo > > pointed out that the math breaks if you do that. > > To me the extra abs() was unnecessary anyway ... > > > > >> diff_percent = ((float)cache_span - avg_llc_val) / cache_span * 100; > >> ret = platform && abs((int)diff_percent) > max_diff_percent && > >> - abs(avg_diff) > max_diff; > >> + labs(avg_diff) > max_diff; > > > > .. because it is repeated here. Yes, there are two *abs() calls in this function. In this case is okay to remove the first one since it didn't remove absolute value completely, whereas in the MBA/MBM cases v1 removed *abs() call entirely which was wrong thing to do. I explicitly noted in my v1 comment that this CMT change is okay but the other two were not. -- i.