#!/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