diff mbox series

ndctl: test/daxctl-devices.sh: increase the namespace size

Message ID x49fs1hwk0b.fsf@segfault.usersys.redhat.com (mailing list archive)
State Accepted
Commit 42f827e72214946a1cb3d6cad9af4eba8a9e73e1
Headers show
Series ndctl: test/daxctl-devices.sh: increase the namespace size | expand

Commit Message

Jeff Moyer Nov. 7, 2023, 5:28 p.m. UTC
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 <jmoyer@redhat.com>

Comments

Jeff Moyer Nov. 7, 2023, 6:01 p.m. UTC | #1
I forgot to mention that this should address the following github issue:

https://github.com/pmem/ndctl/issues/243

-Jeff

Jeff Moyer <jmoyer@redhat.com> writes:

> 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 <jmoyer@redhat.com>
>
> 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"
>  }
Dave Jiang Nov. 13, 2023, 3:06 p.m. UTC | #2
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 <jmoyer@redhat.com>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> 
> 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"
>  }
> 
>
Yi Zhang Nov. 27, 2023, 9:28 a.m. UTC | #3
On Wed, Nov 8, 2023 at 1:34 AM Jeff Moyer <jmoyer@redhat.com> 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 <jmoyer@redhat.com>

Thanks Jeff

Tested-by: Yi Zhang <yi.zhang@redhat.com>

>
> 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"
>  }
>
>
diff mbox series

Patch

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"
 }