WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / arm64 / fp / sve-stress
blob24dd0922cc02b4969e995e0594a97eea1c1f5186
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2015-2019 ARM Limited.
4 # Original author: Dave Martin <Dave.Martin@arm.com>
6 set -ue
8 NR_CPUS=`nproc`
10 pids=
11 logs=
13 cleanup () {
14 trap - INT TERM CHLD
15 set +e
17 if [ -n "$pids" ]; then
18 kill $pids
19 wait $pids
20 pids=
23 if [ -n "$logs" ]; then
24 cat $logs
25 rm $logs
26 logs=
30 interrupt () {
31 cleanup
32 exit 0
35 child_died () {
36 cleanup
37 exit 1
40 trap interrupt INT TERM EXIT
42 for x in `seq 0 $((NR_CPUS * 4))`; do
43 log=`mktemp`
44 logs=$logs\ $log
45 ./sve-test >$log &
46 pids=$pids\ $!
47 done
49 # Wait for all child processes to be created:
50 sleep 10
52 while :; do
53 kill -USR1 $pids
54 done &
55 pids=$pids\ $!
57 wait
59 exit 1