Re: [PATCH v8 0/3] mm/hmm/test: add self tests for HMM

Jason Gunthorpe
2020-04-15T14:42:45Z

On Fri, Mar 20, 2020 at 05:31:05PM -0700, Ralph Campbell wrote:
> This series adds basic self tests for HMM and are intended for Jason
> Gunthorpe's rdma tree which has a number of HMM patches applied.

Here are some hunks I noticed while testing this:

--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -2201,7 +2201,8 @@ config TEST_MEMINIT

config TEST_HMM
tristate "Test HMM (Heterogeneous Memory Management)"
- depends on DEVICE_PRIVATE
+ depends on TRANSPARENT_HUGEPAGE
+ select DEVICE_PRIVATE
select HMM_MIRROR
select MMU_NOTIFIER
help

It fails testing if TRANSPARENT_HUGEPAGE is not on

@@ -1097,6 +1071,7 @@ static int dmirror_device_init(struct dmirror_device *mdevice, int id)
spin_lock_init(&mdevice->lock);

cdev_init(&mdevice->cdevice, &dmirror_fops);
+ mdevice->cdevice.owner = THIS_MODULE;
ret = cdev_add(&mdevice->cdevice, dev, 1);
if (ret)
return ret;

The use of cdev without a struct device is super weird, but it still
needs this

diff --git a/tools/testing/selftests/vm/test_hmm.sh b/tools/testing/selftests/vm/test_hmm.sh
index 461e4a99a362cf..0647b525a62564 100755
--- a/tools/testing/selftests/vm/test_hmm.sh
+++ b/tools/testing/selftests/vm/test_hmm.sh
@@ -59,7 +59,7 @@ run_smoke()
echo "Running smoke test. Note, this test provides basic coverage."

load_driver
- ./hmm-tests
+ $(dirname "${BASH_SOURCE[0]}")/hmm-tests
unload_driver
}

Make it runnably reliably

Jason