The initialization for memory bandwidth measurement was duplicated across mbm_test.c and mba_test.c.
This commit move the memory bandwidth measurement's initialization to resctrl_val.c. It introduces a new common initialization function, including the new vendor-specific configuration setup. Additionally, a cleanup call has been added to the test teardown routines to ensure that resources allocated during initialization are properly released. Signed-off-by: Yifan Wu <[email protected]> --- tools/testing/selftests/resctrl/mba_test.c | 11 ++--------- tools/testing/selftests/resctrl/mbm_test.c | 11 ++--------- tools/testing/selftests/resctrl/resctrl_val.c | 8 ++++++++ 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c index c7e9adc0368f..c41914f6a2e6 100644 --- a/tools/testing/selftests/resctrl/mba_test.c +++ b/tools/testing/selftests/resctrl/mba_test.c @@ -19,15 +19,7 @@ static int mba_init(const struct resctrl_val_param *param, int domain_id) { - int ret; - - ret = initialize_read_mem_bw_imc(); - if (ret) - return ret; - - initialize_mem_bw_resctrl(param, domain_id); - - return 0; + return initialize_measure_read_mem_bw(param, domain_id); } /* @@ -164,6 +156,7 @@ static int check_results(void) static void mba_test_cleanup(void) { + cleanup_read_mem_bw_imc(); remove(RESULT_FILE_NAME); } diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c index 84d8bc250539..1d4ef268db5a 100644 --- a/tools/testing/selftests/resctrl/mbm_test.c +++ b/tools/testing/selftests/resctrl/mbm_test.c @@ -85,15 +85,7 @@ static int check_results(size_t span) static int mbm_init(const struct resctrl_val_param *param, int domain_id) { - int ret; - - ret = initialize_read_mem_bw_imc(); - if (ret) - return ret; - - initialize_mem_bw_resctrl(param, domain_id); - - return 0; + return initialize_measure_read_mem_bw(param, domain_id); } static int mbm_setup(const struct resctrl_test *test, @@ -123,6 +115,7 @@ static int mbm_measure(const struct user_params *uparams, static void mbm_test_cleanup(void) { + cleanup_read_mem_bw_imc(); remove(RESULT_FILE_NAME); } diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index 68e46c863474..75a3d359f16b 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -520,6 +520,14 @@ int initialize_measure_read_mem_bw(const struct resctrl_val_param *param, int do if (!current_config->vendor_id) return -1; + int ret; + + ret = initialize_read_mem_bw_imc(); + if (ret) + return ret; + + initialize_mem_bw_resctrl(param, domain_id); + return 0; } -- 2.33.0

