]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
selftests/powerpc: Don't touch VMX/VSX on older CPUs
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 19 Aug 2020 01:57:26 +0000 (11:57 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 8 Sep 2020 12:24:10 +0000 (22:24 +1000)
If we're running on a CPU without VMX/VSX then don't touch them. This
is fragile, the compiler could spill a VMX/VSX register and break the
test anyway. But in practice it seems to work, ie. the test runs to
completion on a system without VSX with this change.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200819015727.1977134-8-mpe@ellerman.id.au
tools/testing/selftests/powerpc/benchmarks/context_switch.c

index d50cc05df49523aae69683dc1cbc58d6295bf61d..96554e2794d194d6e3bbf371f51179728786c57d 100644 (file)
@@ -481,6 +481,12 @@ int main(int argc, char *argv[])
        else
                printf("futex");
 
+       if (!have_hwcap(PPC_FEATURE_HAS_ALTIVEC))
+               touch_altivec = 0;
+
+       if (!have_hwcap(PPC_FEATURE_HAS_VSX))
+               touch_vector = 0;
+
        printf(" on cpus %d/%d touching FP:%s altivec:%s vector:%s vdso:%s\n",
               cpu1, cpu2, touch_fp ?  "yes" : "no", touch_altivec ? "yes" : "no",
               touch_vector ? "yes" : "no", touch_vdso ? "yes" : "no");