kselftest/arm64: Set test names prior to starting children
authorMark Brown <broonie@kernel.org>
Thu, 24 Nov 2022 12:07:22 +0000 (12:07 +0000)
committerWill Deacon <will@kernel.org>
Fri, 25 Nov 2022 12:21:25 +0000 (12:21 +0000)
Since we now flush output immediately on starting children we should ensure
that the child name is set beforehand so that any output that does get
flushed from the newly created child has the name of the child attached.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20221124120722.150988-1-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
tools/testing/selftests/arm64/fp/fp-stress.c

index ccbfcf847d9605d5e2592da1eea675812e7fc779..69ca4a5f7e6ea85b9590170e25302184236cb298 100644 (file)
@@ -290,12 +290,12 @@ static void start_fpsimd(struct child_data *child, int cpu, int copy)
 {
        int ret;
 
-       child_start(child, "./fpsimd-test");
-
        ret = asprintf(&child->name, "FPSIMD-%d-%d", cpu, copy);
        if (ret == -1)
                ksft_exit_fail_msg("asprintf() failed\n");
 
+       child_start(child, "./fpsimd-test");
+
        ksft_print_msg("Started %s\n", child->name);
 }
 
@@ -307,12 +307,12 @@ static void start_sve(struct child_data *child, int vl, int cpu)
        if (ret < 0)
                ksft_exit_fail_msg("Failed to set SVE VL %d\n", vl);
 
-       child_start(child, "./sve-test");
-
        ret = asprintf(&child->name, "SVE-VL-%d-%d", vl, cpu);
        if (ret == -1)
                ksft_exit_fail_msg("asprintf() failed\n");
 
+       child_start(child, "./sve-test");
+
        ksft_print_msg("Started %s\n", child->name);
 }
 
@@ -320,16 +320,16 @@ static void start_ssve(struct child_data *child, int vl, int cpu)
 {
        int ret;
 
+       ret = asprintf(&child->name, "SSVE-VL-%d-%d", vl, cpu);
+       if (ret == -1)
+               ksft_exit_fail_msg("asprintf() failed\n");
+
        ret = prctl(PR_SME_SET_VL, vl | PR_SME_VL_INHERIT);
        if (ret < 0)
                ksft_exit_fail_msg("Failed to set SME VL %d\n", ret);
 
        child_start(child, "./ssve-test");
 
-       ret = asprintf(&child->name, "SSVE-VL-%d-%d", vl, cpu);
-       if (ret == -1)
-               ksft_exit_fail_msg("asprintf() failed\n");
-
        ksft_print_msg("Started %s\n", child->name);
 }
 
@@ -341,12 +341,12 @@ static void start_za(struct child_data *child, int vl, int cpu)
        if (ret < 0)
                ksft_exit_fail_msg("Failed to set SME VL %d\n", ret);
 
-       child_start(child, "./za-test");
-
        ret = asprintf(&child->name, "ZA-VL-%d-%d", vl, cpu);
        if (ret == -1)
                ksft_exit_fail_msg("asprintf() failed\n");
 
+       child_start(child, "./za-test");
+
        ksft_print_msg("Started %s\n", child->name);
 }