| #!/bin/bash | |
| # SPDX-License-Identifier: GPL-2.0 | |
| # | |
| # Load kernel module for FPU tests | |
| uid=$(id -u) | |
| if [ $uid -ne 0 ]; then | |
| echo "$0: Must be run as root" | |
| exit 1 | |
| fi | |
| if ! which modprobe > /dev/null 2>&1; then | |
| echo "$0: You need modprobe installed" | |
| exit 4 | |
| fi | |
| if ! modinfo test_fpu > /dev/null 2>&1; then | |
| echo "$0: You must have the following enabled in your kernel:" | |
| echo "CONFIG_TEST_FPU=m" | |
| exit 4 | |
| fi | |
| NR_CPUS=$(getconf _NPROCESSORS_ONLN) | |
| if [ ! $NR_CPUS ]; then | |
| NR_CPUS=1 | |
| fi | |
| modprobe test_fpu | |
| if [ ! -e /sys/kernel/debug/selftest_helpers/test_fpu ]; then | |
| mount -t debugfs none /sys/kernel/debug | |
| if [ ! -e /sys/kernel/debug/selftest_helpers/test_fpu ]; then | |
| echo "$0: Error mounting debugfs" | |
| exit 4 | |
| fi | |
| fi | |
| echo "Running 1000 iterations on all CPUs... " | |
| for i in $(seq 1 1000); do | |
| for c in $(seq 1 $NR_CPUS); do | |
| ./test_fpu & | |
| done | |
| done | |
| rmmod test_fpu |