~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/mm/test_hmm.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0
  3 #
  4 # Copyright (C) 2018 Uladzislau Rezki (Sony) <urezki@gmail.com>
  5 #
  6 # This is a test script for the kernel test driver to analyse vmalloc
  7 # allocator. Therefore it is just a kernel module loader. You can specify
  8 # and pass different parameters in order to:
  9 #     a) analyse performance of vmalloc allocations;
 10 #     b) stressing and stability check of vmalloc subsystem.
 11 
 12 TEST_NAME="test_hmm"
 13 DRIVER="test_hmm"
 14 
 15 # 1 if fails
 16 exitcode=1
 17 
 18 # Kselftest framework requirement - SKIP code is 4.
 19 ksft_skip=4
 20 
 21 check_test_requirements()
 22 {
 23         uid=$(id -u)
 24         if [ $uid -ne 0 ]; then
 25                 echo "$0: Must be run as root"
 26                 exit $ksft_skip
 27         fi
 28 
 29         if ! which modprobe > /dev/null 2>&1; then
 30                 echo "$0: You need modprobe installed"
 31                 exit $ksft_skip
 32         fi
 33 
 34         if ! modinfo $DRIVER > /dev/null 2>&1; then
 35                 echo "$0: You must have the following enabled in your kernel:"
 36                 echo "CONFIG_TEST_HMM=m"
 37                 exit $ksft_skip
 38         fi
 39 }
 40 
 41 load_driver()
 42 {
 43         if [ $# -eq 0 ]; then
 44                 modprobe $DRIVER > /dev/null 2>&1
 45         else
 46                 if [ $# -eq 2 ]; then
 47                         modprobe $DRIVER spm_addr_dev0=$1 spm_addr_dev1=$2
 48                                 > /dev/null 2>&1
 49                 else
 50                         echo "Missing module parameters. Make sure pass"\
 51                         "spm_addr_dev0 and spm_addr_dev1"
 52                         usage
 53                 fi
 54         fi
 55 }
 56 
 57 unload_driver()
 58 {
 59         modprobe -r $DRIVER > /dev/null 2>&1
 60 }
 61 
 62 run_smoke()
 63 {
 64         echo "Running smoke test. Note, this test provides basic coverage."
 65 
 66         load_driver $1 $2
 67         $(dirname "${BASH_SOURCE[0]}")/hmm-tests
 68         unload_driver
 69 }
 70 
 71 usage()
 72 {
 73         echo -n "Usage: $0"
 74         echo
 75         echo "Example usage:"
 76         echo
 77         echo "# Shows help message"
 78         echo "./${TEST_NAME}.sh"
 79         echo
 80         echo "# Smoke testing"
 81         echo "./${TEST_NAME}.sh smoke"
 82         echo
 83         echo "# Smoke testing with SPM enabled"
 84         echo "./${TEST_NAME}.sh smoke <spm_addr_dev0> <spm_addr_dev1>"
 85         echo
 86         exit 0
 87 }
 88 
 89 function run_test()
 90 {
 91         if [ $# -eq 0 ]; then
 92                 usage
 93         else
 94                 if [ "$1" = "smoke" ]; then
 95                         run_smoke $2 $3
 96                 else
 97                         usage
 98                 fi
 99         fi
100 }
101 
102 check_test_requirements
103 run_test $@
104 
105 exit 0

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php