diff options
| author | Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> | 2024-06-10 18:14:50 +0300 |
|---|---|---|
| committer | Shuah Khan <skhan@linuxfoundation.org> | 2024-07-11 11:23:54 -0600 |
| commit | 0e251816995a1972062fc7ad32047c1aee9cd704 (patch) | |
| tree | 63cb4337a08e0668585dbb4250b4f4c5fc7b9578 /tools/testing/selftests/resctrl/resctrl_val.c | |
| parent | 711d27b05a97cd5c8e62c858c2c940d79f8445e1 (diff) | |
| download | lwn-0e251816995a1972062fc7ad32047c1aee9cd704.tar.gz lwn-0e251816995a1972062fc7ad32047c1aee9cd704.zip | |
selftests/resctrl: Add ->measure() callback to resctrl_val_param
The measurement done in resctrl_val() varies depending on test type.
The decision for how to measure is decided based on the string compare
to test name which is quite inflexible.
Add ->measure() callback into the struct resctrl_val_param to allow
each test to provide necessary code as a function which simplifies what
resctrl_val() has to do.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'tools/testing/selftests/resctrl/resctrl_val.c')
| -rw-r--r-- | tools/testing/selftests/resctrl/resctrl_val.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index 277c13b7a4c5..590fc74cb88f 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -606,8 +606,8 @@ static void initialize_llc_occu_resctrl(const char *ctrlgrp, const char *mongrp, * available. Compare the two values to validate resctrl value. It takes * 1 sec to measure the data. */ -static int measure_mem_bw(const struct user_params *uparams, - struct resctrl_val_param *param, pid_t bm_pid) +int measure_mem_bw(const struct user_params *uparams, + struct resctrl_val_param *param, pid_t bm_pid) { unsigned long bw_resc, bw_resc_start, bw_resc_end; FILE *mem_bw_fp; @@ -868,17 +868,9 @@ int resctrl_val(const struct resctrl_test *test, if (ret < 0) break; - if (!strncmp(resctrl_val, MBM_STR, sizeof(MBM_STR)) || - !strncmp(resctrl_val, MBA_STR, sizeof(MBA_STR))) { - ret = measure_mem_bw(uparams, param, bm_pid); - if (ret) - break; - } else if (!strncmp(resctrl_val, CMT_STR, sizeof(CMT_STR))) { - sleep(1); - ret = measure_llc_resctrl(param->filename, bm_pid); - if (ret) - break; - } + ret = param->measure(uparams, param, bm_pid); + if (ret) + break; } out: |
