On Thu, 22 Feb 2024, Ilpo Järvinen wrote: > On Thu, 22 Feb 2024, Maciej Wieczor-Retman wrote: > > > Ctrl-c handler isn't aware of what test is currently running. Because of > > that it executes all cleanups even if they aren't necessary. Since the > > ctrl-c handler uses the sa_sigaction system no parameters can be passed > > to it as function arguments. > > > > Add a global variable to make ctrl-c handler aware of the currently run > > test and only execute the correct cleanup callback. > > > > Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx> > > --- > > diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c > > index 5a49f07a6c85..d572815436f3 100644 > > --- a/tools/testing/selftests/resctrl/resctrl_val.c > > +++ b/tools/testing/selftests/resctrl/resctrl_val.c > > @@ -62,6 +62,7 @@ struct imc_counter_config { > > static char mbm_total_path[1024]; > > static int imcs; > > static struct imc_counter_config imc_counters_config[MAX_IMCS][2]; > > +const struct resctrl_test *current_test; > > static const struct > > > void membw_initialize_perf_event_attr(int i, int j) > > { > > @@ -472,7 +473,7 @@ void ctrlc_handler(int signum, siginfo_t *info, void *ptr) > > if (bm_pid) > > kill(bm_pid, SIGKILL); > > umount_resctrlfs(); > > - tests_cleanup(); > > + current_test->cleanup(); > > These calls should have if (current_test->cleanup()) guard. Isn't the Err, if (current_test->cleanup) is what I meant. > non-contiguous already test w/o the cleanup function? > > Other than those two, this looked okay. -- i.