tools: update test_hmm script to support SP config
authorAlex Sierra <alex.sierra@amd.com>
Fri, 15 Jul 2022 15:05:19 +0000 (10:05 -0500)
committerakpm <akpm@linux-foundation.org>
Mon, 18 Jul 2022 00:14:29 +0000 (17:14 -0700)
Add two more parameters to set spm_addr_dev0 & spm_addr_dev1 addresses.
These two parameters configure the start SP addresses for each device in
test_hmm driver.  Consequently, this configures zone device type as
coherent.

Link: https://lkml.kernel.org/r/20220715150521.18165-13-alex.sierra@amd.com
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Alistair Popple <apopple@nvidia.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/vm/test_hmm.sh

index 0647b52..539c937 100755 (executable)
@@ -40,11 +40,26 @@ check_test_requirements()
 
 load_driver()
 {
-       modprobe $DRIVER > /dev/null 2>&1
+       if [ $# -eq 0 ]; then
+               modprobe $DRIVER > /dev/null 2>&1
+       else
+               if [ $# -eq 2 ]; then
+                       modprobe $DRIVER spm_addr_dev0=$1 spm_addr_dev1=$2
+                               > /dev/null 2>&1
+               else
+                       echo "Missing module parameters. Make sure pass"\
+                       "spm_addr_dev0 and spm_addr_dev1"
+                       usage
+               fi
+       fi
        if [ $? == 0 ]; then
                major=$(awk "\$2==\"HMM_DMIRROR\" {print \$1}" /proc/devices)
                mknod /dev/hmm_dmirror0 c $major 0
                mknod /dev/hmm_dmirror1 c $major 1
+               if [ $# -eq 2 ]; then
+                       mknod /dev/hmm_dmirror2 c $major 2
+                       mknod /dev/hmm_dmirror3 c $major 3
+               fi
        fi
 }
 
@@ -58,7 +73,7 @@ run_smoke()
 {
        echo "Running smoke test. Note, this test provides basic coverage."
 
-       load_driver
+       load_driver $1 $2
        $(dirname "${BASH_SOURCE[0]}")/hmm-tests
        unload_driver
 }
@@ -75,6 +90,9 @@ usage()
        echo "# Smoke testing"
        echo "./${TEST_NAME}.sh smoke"
        echo
+       echo "# Smoke testing with SPM enabled"
+       echo "./${TEST_NAME}.sh smoke <spm_addr_dev0> <spm_addr_dev1>"
+       echo
        exit 0
 }
 
@@ -84,7 +102,7 @@ function run_test()
                usage
        else
                if [ "$1" = "smoke" ]; then
-                       run_smoke
+                       run_smoke $2 $3
                else
                        usage
                fi