resctrlfs.c contains mostly functions that interact in some way with
resctrl FS entries while functions inside resctrl_val.c deal with
measurements and benchmarking.

run_benchmark() is located in resctrlfs.c even though it's purpose
is not interacting with the resctrl FS but to execute cache checking
logic.

Move run_benchmark() to resctrl_val.c just before resctrl_val() that
makes use of run_benchmark(). Make run_benchmark() static since it's
not used between multiple files anymore.

Remove return comment from kernel-doc since the function is type void.

Reviewed-by: Ilpo Järvinen <ilpo.jarvi...@linux.intel.com>
Reviewed-by: Reinette Chatre <reinette.cha...@intel.com>
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-ret...@intel.com>
---
Changelog v4:
- Reword patch message very slightly. (Reinette)

Changelog v3:
- Make run_benchmark() static and remove it from the header. (Reinette)
- Remove return void kernel-doc comment. (Ilpo)
- Added Ilpo's reviewed-by tag.

 tools/testing/selftests/resctrl/resctrl.h     |  1 -
 tools/testing/selftests/resctrl/resctrl_val.c | 50 ++++++++++++++++++
 tools/testing/selftests/resctrl/resctrlfs.c   | 52 -------------------
 3 files changed, 50 insertions(+), 53 deletions(-)

diff --git a/tools/testing/selftests/resctrl/resctrl.h 
b/tools/testing/selftests/resctrl/resctrl.h
index 8578a8b4e145..a33f414f6019 100644
--- a/tools/testing/selftests/resctrl/resctrl.h
+++ b/tools/testing/selftests/resctrl/resctrl.h
@@ -86,7 +86,6 @@ int validate_bw_report_request(char *bw_report);
 bool validate_resctrl_feature_request(const char *resource, const char 
*feature);
 char *fgrep(FILE *inf, const char *str);
 int taskset_benchmark(pid_t bm_pid, int cpu_no);
-void run_benchmark(int signum, siginfo_t *info, void *ucontext);
 int write_schemata(char *ctrlgrp, char *schemata, int cpu_no,
                   char *resctrl_val);
 int write_bm_pid_to_resctrl(pid_t bm_pid, char *ctrlgrp, char *mongrp,
diff --git a/tools/testing/selftests/resctrl/resctrl_val.c 
b/tools/testing/selftests/resctrl/resctrl_val.c
index a9fe61133119..0577e983067a 100644
--- a/tools/testing/selftests/resctrl/resctrl_val.c
+++ b/tools/testing/selftests/resctrl/resctrl_val.c
@@ -625,6 +625,56 @@ measure_vals(struct resctrl_val_param *param, unsigned 
long *bw_resc_start)
        return 0;
 }
 
+/*
+ * run_benchmark - Run a specified benchmark or fill_buf (default benchmark)
+ *                in specified signal. Direct benchmark stdio to /dev/null.
+ * @signum:    signal number
+ * @info:      signal info
+ * @ucontext:  user context in signal handling
+ */
+static void run_benchmark(int signum, siginfo_t *info, void *ucontext)
+{
+       int operation, ret, memflush;
+       char **benchmark_cmd;
+       size_t span;
+       bool once;
+       FILE *fp;
+
+       benchmark_cmd = info->si_ptr;
+
+       /*
+        * Direct stdio of child to /dev/null, so that only parent writes to
+        * stdio (console)
+        */
+       fp = freopen("/dev/null", "w", stdout);
+       if (!fp)
+               PARENT_EXIT("Unable to direct benchmark status to /dev/null");
+
+       if (strcmp(benchmark_cmd[0], "fill_buf") == 0) {
+               /* Execute default fill_buf benchmark */
+               span = strtoul(benchmark_cmd[1], NULL, 10);
+               memflush =  atoi(benchmark_cmd[2]);
+               operation = atoi(benchmark_cmd[3]);
+               if (!strcmp(benchmark_cmd[4], "true"))
+                       once = true;
+               else if (!strcmp(benchmark_cmd[4], "false"))
+                       once = false;
+               else
+                       PARENT_EXIT("Invalid once parameter");
+
+               if (run_fill_buf(span, memflush, operation, once))
+                       fprintf(stderr, "Error in running fill buffer\n");
+       } else {
+               /* Execute specified benchmark */
+               ret = execvp(benchmark_cmd[0], benchmark_cmd);
+               if (ret)
+                       perror("wrong\n");
+       }
+
+       fclose(stdout);
+       PARENT_EXIT("Unable to run specified benchmark");
+}
+
 /*
  * resctrl_val:        execute benchmark and measure memory bandwidth on
  *                     the benchmark
diff --git a/tools/testing/selftests/resctrl/resctrlfs.c 
b/tools/testing/selftests/resctrl/resctrlfs.c
index edc8fc6e44b0..2a9dd0258528 100644
--- a/tools/testing/selftests/resctrl/resctrlfs.c
+++ b/tools/testing/selftests/resctrl/resctrlfs.c
@@ -294,58 +294,6 @@ int taskset_benchmark(pid_t bm_pid, int cpu_no)
        return 0;
 }
 
-/*
- * run_benchmark - Run a specified benchmark or fill_buf (default benchmark)
- *                in specified signal. Direct benchmark stdio to /dev/null.
- * @signum:    signal number
- * @info:      signal info
- * @ucontext:  user context in signal handling
- *
- * Return: void
- */
-void run_benchmark(int signum, siginfo_t *info, void *ucontext)
-{
-       int operation, ret, memflush;
-       char **benchmark_cmd;
-       size_t span;
-       bool once;
-       FILE *fp;
-
-       benchmark_cmd = info->si_ptr;
-
-       /*
-        * Direct stdio of child to /dev/null, so that only parent writes to
-        * stdio (console)
-        */
-       fp = freopen("/dev/null", "w", stdout);
-       if (!fp)
-               PARENT_EXIT("Unable to direct benchmark status to /dev/null");
-
-       if (strcmp(benchmark_cmd[0], "fill_buf") == 0) {
-               /* Execute default fill_buf benchmark */
-               span = strtoul(benchmark_cmd[1], NULL, 10);
-               memflush =  atoi(benchmark_cmd[2]);
-               operation = atoi(benchmark_cmd[3]);
-               if (!strcmp(benchmark_cmd[4], "true"))
-                       once = true;
-               else if (!strcmp(benchmark_cmd[4], "false"))
-                       once = false;
-               else
-                       PARENT_EXIT("Invalid once parameter");
-
-               if (run_fill_buf(span, memflush, operation, once))
-                       fprintf(stderr, "Error in running fill buffer\n");
-       } else {
-               /* Execute specified benchmark */
-               ret = execvp(benchmark_cmd[0], benchmark_cmd);
-               if (ret)
-                       perror("wrong\n");
-       }
-
-       fclose(stdout);
-       PARENT_EXIT("Unable to run specified benchmark");
-}
-
 /*
  * create_grp - Create a group only if one doesn't exist
  * @grp_name:  Name of the group
-- 
2.42.0

Reply via email to