1 #!/bin/bash 1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0-only 2 # SPDX-License-Identifier: GPL-2.0-only 3 # Copyright (C) 2015-2019 ARM Limited. 3 # Copyright (C) 2015-2019 ARM Limited. 4 # Original author: Dave Martin <Dave.Martin@arm 4 # Original author: Dave Martin <Dave.Martin@arm.com> 5 5 6 set -ue 6 set -ue 7 7 8 NR_CPUS=`nproc` 8 NR_CPUS=`nproc` 9 9 10 pids= 10 pids= 11 logs= 11 logs= 12 12 13 cleanup () { 13 cleanup () { 14 trap - INT TERM CHLD 14 trap - INT TERM CHLD 15 set +e 15 set +e 16 16 17 if [ -n "$pids" ]; then 17 if [ -n "$pids" ]; then 18 kill $pids 18 kill $pids 19 wait $pids 19 wait $pids 20 pids= 20 pids= 21 fi 21 fi 22 22 23 if [ -n "$logs" ]; then 23 if [ -n "$logs" ]; then 24 cat $logs 24 cat $logs 25 rm $logs 25 rm $logs 26 logs= 26 logs= 27 fi 27 fi 28 } 28 } 29 29 30 interrupt () { 30 interrupt () { 31 cleanup 31 cleanup 32 exit 0 32 exit 0 33 } 33 } 34 34 35 child_died () { 35 child_died () { 36 cleanup 36 cleanup 37 exit 1 37 exit 1 38 } 38 } 39 39 40 trap interrupt INT TERM EXIT 40 trap interrupt INT TERM EXIT 41 trap child_died CHLD 41 trap child_died CHLD 42 42 43 for x in `seq 0 $((NR_CPUS * 4))`; do 43 for x in `seq 0 $((NR_CPUS * 4))`; do 44 log=`mktemp` 44 log=`mktemp` 45 logs=$logs\ $log 45 logs=$logs\ $log 46 ./fpsimd-test >$log & 46 ./fpsimd-test >$log & 47 pids=$pids\ $! 47 pids=$pids\ $! 48 done 48 done 49 49 50 # Wait for all child processes to be created: 50 # Wait for all child processes to be created: 51 sleep 10 51 sleep 10 52 52 53 while :; do 53 while :; do 54 kill -USR1 $pids 54 kill -USR1 $pids 55 done & 55 done & 56 pids=$pids\ $! 56 pids=$pids\ $! 57 57 58 wait 58 wait 59 59 60 exit 1 60 exit 1
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.