selftests/resctrl: Refactor remount_resctrl(bool mum_resctrlfs) to mount_resctrl()
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 17 Jul 2023 13:14:55 +0000 (16:14 +0300)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 25 Jul 2023 14:53:00 +0000 (08:53 -0600)
Mount/umount of the resctrl FS is now paired nicely per test.

Rename remount_resctrl(bool mum_resctrlfs) to mount_resctrl(). Make
it unconditionally try to mount the resctrl FS and return error if
resctrl FS was mounted already.

While at it, group the mount/umount prototypes in the header.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Tested-by: Shaopeng Tan (Fujitsu) <tan.shaopeng@fujitsu.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/resctrl/resctrl.h
tools/testing/selftests/resctrl/resctrl_tests.c
tools/testing/selftests/resctrl/resctrlfs.c

index f455f0b..23af3fb 100644 (file)
@@ -85,8 +85,8 @@ extern char llc_occup_path[1024];
 int get_vendor(void);
 bool check_resctrlfs_support(void);
 int filter_dmesg(void);
-int remount_resctrlfs(bool mum_resctrlfs);
 int get_resource_id(int cpu_no, int *resource_id);
+int mount_resctrlfs(void);
 int umount_resctrlfs(void);
 int validate_bw_report_request(char *bw_report);
 bool validate_resctrl_feature_request(const char *resctrl_val);
index 6bf4ead..0363c4b 100644 (file)
@@ -77,7 +77,7 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span,
 
        ksft_print_msg("Starting MBM BW change ...\n");
 
-       res = remount_resctrlfs(true);
+       res = mount_resctrlfs();
        if (res) {
                ksft_exit_fail_msg("Failed to mount resctrl FS\n");
                return;
@@ -106,7 +106,7 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, int span,
 
        ksft_print_msg("Starting MBA Schemata change ...\n");
 
-       res = remount_resctrlfs(true);
+       res = mount_resctrlfs();
        if (res) {
                ksft_exit_fail_msg("Failed to mount resctrl FS\n");
                return;
@@ -132,7 +132,7 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no)
 
        ksft_print_msg("Starting CMT test ...\n");
 
-       res = remount_resctrlfs(true);
+       res = mount_resctrlfs();
        if (res) {
                ksft_exit_fail_msg("Failed to mount resctrl FS\n");
                return;
@@ -160,7 +160,7 @@ static void run_cat_test(int cpu_no, int no_of_bits)
 
        ksft_print_msg("Starting CAT test ...\n");
 
-       res = remount_resctrlfs(true);
+       res = mount_resctrlfs();
        if (res) {
                ksft_exit_fail_msg("Failed to mount resctrl FS\n");
                return;
index edc3f92..c456669 100644 (file)
@@ -48,29 +48,20 @@ static int find_resctrl_mount(char *buffer)
 }
 
 /*
- * remount_resctrlfs - Remount resctrl FS at /sys/fs/resctrl
- * @mum_resctrlfs:     Should the resctrl FS be remounted?
+ * mount_resctrlfs - Mount resctrl FS at /sys/fs/resctrl
  *
- * If not mounted, mount it.
- * If mounted and mum_resctrlfs then remount resctrl FS.
- * If mounted and !mum_resctrlfs then noop
+ * Mounts resctrl FS. Fails if resctrl FS is already mounted to avoid
+ * pre-existing settings interfering with the test results.
  *
  * Return: 0 on success, non-zero on failure
  */
-int remount_resctrlfs(bool mum_resctrlfs)
+int mount_resctrlfs(void)
 {
-       char mountpoint[256];
        int ret;
 
-       ret = find_resctrl_mount(mountpoint);
-       if (ret)
-               strcpy(mountpoint, RESCTRL_PATH);
-
-       if (!ret && mum_resctrlfs && umount(mountpoint))
-               ksft_print_msg("Fail: unmounting \"%s\"\n", mountpoint);
-
-       if (!ret && !mum_resctrlfs)
-               return 0;
+       ret = find_resctrl_mount(NULL);
+       if (ret != -ENOENT)
+               return -1;
 
        ksft_print_msg("Mounting resctrl to \"%s\"\n", RESCTRL_PATH);
        ret = mount("resctrl", RESCTRL_PATH, "resctrl", 0, NULL);