Memory hotplug requires the namespace to be aligned to a boundary that
depends on several factors. Upstream kernel commit fe124c95df9e
("x86/mm: use max memory block size on bare metal") increased the
typical size/alignment to 2GiB from 256MiB. As a result, this test no
longer passes on our bare metal test systems.
This patch fixes the test failure by bumping the namespace size to
4GiB, which leaves room for aligning the start and end to 2GiB.
Signed-off-by: Jeff Moyer <[email protected]>
diff --git a/test/daxctl-devices.sh b/test/daxctl-devices.sh
index 56c9691..dfce74b 100755
--- a/test/daxctl-devices.sh
+++ b/test/daxctl-devices.sh
@@ -44,7 +44,10 @@ setup_dev()
test -n "$testdev"
"$NDCTL" destroy-namespace -f -b "$testbus" "$testdev"
- testdev=$("$NDCTL" create-namespace -b "$testbus" -m devdax -fe
"$testdev" -s 256M | \
+ # x86_64 memory hotplug can require up to a 2GiB-aligned chunk
+ # of memory. Create a 4GiB namespace, so that we will still have
+ # enough room left after aligning the start and end.
+ testdev=$("$NDCTL" create-namespace -b "$testbus" -m devdax -fe
"$testdev" -s 4G | \
jq -er '.dev')
test -n "$testdev"
}