On 11/7/23 10:28, Jeff Moyer wrote:
> 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]>
Reviewed-by: Dave Jiang <[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"
> }
>
>