tools: update test_hmm script to support SP config

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>
This commit is contained in:
Alex Sierra 2022-07-15 10:05:19 -05:00 committed by akpm
parent f70dab3c01
commit e6474b1aeb
1 changed files with 21 additions and 3 deletions

View File

@ -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