Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/bash
0002 # SPDX-License-Identifier: GPL-2.0
0003 #
0004 # Load kernel module for FPU tests
0005 
0006 uid=$(id -u)
0007 if [ $uid -ne 0 ]; then
0008         echo "$0: Must be run as root"
0009         exit 1
0010 fi
0011 
0012 if ! which modprobe > /dev/null 2>&1; then
0013         echo "$0: You need modprobe installed"
0014         exit 4
0015 fi
0016 
0017 if ! modinfo test_fpu > /dev/null 2>&1; then
0018         echo "$0: You must have the following enabled in your kernel:"
0019         echo "CONFIG_TEST_FPU=m"
0020         exit 4
0021 fi
0022 
0023 NR_CPUS=$(getconf _NPROCESSORS_ONLN)
0024 if [ ! $NR_CPUS ]; then
0025         NR_CPUS=1
0026 fi
0027 
0028 modprobe test_fpu
0029 
0030 if [ ! -e /sys/kernel/debug/selftest_helpers/test_fpu ]; then
0031         mount -t debugfs none /sys/kernel/debug
0032 
0033         if [ ! -e /sys/kernel/debug/selftest_helpers/test_fpu ]; then
0034                 echo "$0: Error mounting debugfs"
0035                 exit 4
0036         fi
0037 fi
0038 
0039 echo "Running 1000 iterations on all CPUs... "
0040 for i in $(seq 1 1000); do
0041         for c in $(seq 1 $NR_CPUS); do
0042                 ./test_fpu &
0043         done
0044 done
0045 
0046 rmmod test_fpu