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