run_test_fpu.sh 878 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/bash
  2. # SPDX-License-Identifier: GPL-2.0
  3. #
  4. # Load kernel module for FPU tests
  5. uid=$(id -u)
  6. if [ $uid -ne 0 ]; then
  7. echo "$0: Must be run as root"
  8. exit 1
  9. fi
  10. if ! which modprobe > /dev/null 2>&1; then
  11. echo "$0: You need modprobe installed"
  12. exit 4
  13. fi
  14. if ! modinfo test_fpu > /dev/null 2>&1; then
  15. echo "$0: You must have the following enabled in your kernel:"
  16. echo "CONFIG_TEST_FPU=m"
  17. exit 4
  18. fi
  19. NR_CPUS=$(getconf _NPROCESSORS_ONLN)
  20. if [ ! $NR_CPUS ]; then
  21. NR_CPUS=1
  22. fi
  23. modprobe test_fpu
  24. if [ ! -e /sys/kernel/debug/selftest_helpers/test_fpu ]; then
  25. mount -t debugfs none /sys/kernel/debug
  26. if [ ! -e /sys/kernel/debug/selftest_helpers/test_fpu ]; then
  27. echo "$0: Error mounting debugfs"
  28. exit 4
  29. fi
  30. fi
  31. echo "Running 1000 iterations on all CPUs... "
  32. for i in $(seq 1 1000); do
  33. for c in $(seq 1 $NR_CPUS); do
  34. ./test_fpu &
  35. done
  36. done
  37. rmmod test_fpu