Re: [PATCH v3 10/10] tools: update test_hmm script to support SP config

Alistair Popple
2022-01-20T08:47:56Z

Looks good,

Reviewed-by: Alistair Popple <apopple@nvidia.com>

On Tuesday, 11 January 2022 9:32:01 AM AEDT Alex Sierra wrote:
> 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.
>
> Signed-off-by: Alex Sierra <alex.sierra@amd.com>
> ---
> v2:
> Add more mknods for device coherent type. These are represented under
> /dev/hmm_mirror2 and /dev/hmm_mirror3, only in case they have created
> at probing the hmm-test driver.
> ---
> tools/testing/selftests/vm/test_hmm.sh | 24 +++++++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/vm/test_hmm.sh b/tools/testing/selftests/vm/test_hmm.sh
> index 0647b525a625..539c9371e592 100755
> --- a/tools/testing/selftests/vm/test_hmm.sh
> +++ b/tools/testing/selftests/vm/test_hmm.sh
> @@ -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
>