mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-24 14:54:49 +08:00
25f47e3eb6
Add wrapper scripts which invoke fpsimd-test and sve-test with several copies per CPU such that the context switch code will be appropriately exercised. Signed-off-by: Mark Brown <broonie@kernel.org> Acked-by: Dave Martin <Dave.Martin@arm.com> Acked-by: Shuah Khan <skhan@linuxfoundation.org> Link: https://lore.kernel.org/r/20200819114837.51466-6-broonie@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
60 lines
690 B
Bash
Executable File
60 lines
690 B
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
# Copyright (C) 2015-2019 ARM Limited.
|
|
# Original author: Dave Martin <Dave.Martin@arm.com>
|
|
|
|
set -ue
|
|
|
|
NR_CPUS=`nproc`
|
|
|
|
pids=
|
|
logs=
|
|
|
|
cleanup () {
|
|
trap - INT TERM CHLD
|
|
set +e
|
|
|
|
if [ -n "$pids" ]; then
|
|
kill $pids
|
|
wait $pids
|
|
pids=
|
|
fi
|
|
|
|
if [ -n "$logs" ]; then
|
|
cat $logs
|
|
rm $logs
|
|
logs=
|
|
fi
|
|
}
|
|
|
|
interrupt () {
|
|
cleanup
|
|
exit 0
|
|
}
|
|
|
|
child_died () {
|
|
cleanup
|
|
exit 1
|
|
}
|
|
|
|
trap interrupt INT TERM EXIT
|
|
|
|
for x in `seq 0 $((NR_CPUS * 4))`; do
|
|
log=`mktemp`
|
|
logs=$logs\ $log
|
|
./sve-test >$log &
|
|
pids=$pids\ $!
|
|
done
|
|
|
|
# Wait for all child processes to be created:
|
|
sleep 10
|
|
|
|
while :; do
|
|
kill -USR1 $pids
|
|
done &
|
|
pids=$pids\ $!
|
|
|
|
wait
|
|
|
|
exit 1
|