Message ID | 20210513061218.760322-4-santosh@fossix.org (mailing list archive) |
---|---|
State | Accepted |
Commit | fe831b526b88f6ca7a27fdb149b8a7d2ecddbc55 |
Headers | show |
Series | [ndctl,V5,1/4] libndctl: Unify adding dimms for papr and nfit families | expand |
On Thu, 2021-05-13 at 11:42 +0530, Santosh Sivaraj wrote: > The alignment sizes passed to ndctl in the tests are all hardcoded to 4k, > the default page size on x86. Change those to the default page size on that > architecture (sysconf/getconf). No functional changes otherwise. > > Signed-off-by: Santosh Sivaraj <santosh@fossix.org> > --- > test/dpa-alloc.c | 15 ++++++++------- > test/multi-dax.sh | 6 ++++-- > test/sector-mode.sh | 4 +++- > 3 files changed, 15 insertions(+), 10 deletions(-) Thanks for the updates, these look good - I've applied them and pushed out on 'pending'. > > diff --git a/test/dpa-alloc.c b/test/dpa-alloc.c > index 0b3bb7a..59185cf 100644 > --- a/test/dpa-alloc.c > +++ b/test/dpa-alloc.c > @@ -38,12 +38,13 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) > struct ndctl_region *region, *blk_region = NULL; > struct ndctl_namespace *ndns; > struct ndctl_dimm *dimm; > - unsigned long size; > + unsigned long size, page_size; > struct ndctl_bus *bus; > char uuid_str[40]; > int round; > int rc; > > + page_size = sysconf(_SC_PAGESIZE); > /* disable nfit_test.1, not used in this test */ > bus = ndctl_bus_get_by_provider(ctx, NFIT_PROVIDER1); > if (!bus) > @@ -124,11 +125,11 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) > return rc; > } > ndctl_namespace_disable_invalidate(ndns); > - rc = ndctl_namespace_set_size(ndns, SZ_4K); > + rc = ndctl_namespace_set_size(ndns, page_size); > if (rc) { > - fprintf(stderr, "failed to init %s to size: %d\n", > + fprintf(stderr, "failed to init %s to size: %lu\n", > ndctl_namespace_get_devname(ndns), > - SZ_4K); > + page_size); > return rc; > } > namespaces[i].ndns = ndns; > @@ -150,7 +151,7 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) > ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns; > if (i % ARRAY_SIZE(namespaces) == 0) > round++; > - size = SZ_4K * round; > + size = page_size * round; > rc = ndctl_namespace_set_size(ndns, size); > if (rc) { > fprintf(stderr, "%s: set_size: %lx failed: %d\n", > @@ -166,7 +167,7 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) > i--; > round++; > ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns; > - size = SZ_4K * round; > + size = page_size * round; > rc = ndctl_namespace_set_size(ndns, size); > if (rc) { > fprintf(stderr, "%s failed to update while labels full\n", > @@ -175,7 +176,7 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) > } > > round--; > - size = SZ_4K * round; > + size = page_size * round; > rc = ndctl_namespace_set_size(ndns, size); > if (rc) { > fprintf(stderr, "%s failed to reduce size while labels full\n", > diff --git a/test/multi-dax.sh b/test/multi-dax.sh > index e932569..9451ed0 100755 > --- a/test/multi-dax.sh > +++ b/test/multi-dax.sh > @@ -12,6 +12,8 @@ check_min_kver "4.13" || do_skip "may lack multi-dax support" > > trap 'err $LINENO' ERR > > +ALIGN_SIZE=`getconf PAGESIZE` > + > # setup (reset nfit_test dimms) > modprobe nfit_test > $NDCTL disable-region -b $NFIT_TEST_BUS0 all > @@ -22,9 +24,9 @@ rc=1 > query=". | sort_by(.available_size) | reverse | .[0].dev" > region=$($NDCTL list -b $NFIT_TEST_BUS0 -t pmem -Ri | jq -r "$query") > > -json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M) > +json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M) > chardev1=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev") > -json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M) > +json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M) > chardev2=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev") > > _cleanup > diff --git a/test/sector-mode.sh b/test/sector-mode.sh > index dd7013e..d03c0ca 100755 > --- a/test/sector-mode.sh > +++ b/test/sector-mode.sh > @@ -9,6 +9,8 @@ rc=77 > set -e > trap 'err $LINENO' ERR > > +ALIGN_SIZE=`getconf PAGESIZE` > + > # setup (reset nfit_test dimms) > modprobe nfit_test > $NDCTL disable-region -b $NFIT_TEST_BUS0 all > @@ -25,7 +27,7 @@ NAMESPACE=$($NDCTL list -b $NFIT_TEST_BUS1 -N | jq -r "$query") > REGION=$($NDCTL list -R --namespace=$NAMESPACE | jq -r "(.[]) | .dev") > echo 0 > /sys/bus/nd/devices/$REGION/read_only > $NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K > -$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a 4K > +$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a $ALIGN_SIZE > $NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K > > _cleanup
On Thu, 2021-05-13 at 18:17 +0000, Verma, Vishal L wrote: > On Thu, 2021-05-13 at 11:42 +0530, Santosh Sivaraj wrote: > > The alignment sizes passed to ndctl in the tests are all hardcoded to 4k, > > the default page size on x86. Change those to the default page size on that > > architecture (sysconf/getconf). No functional changes otherwise. > > > > Signed-off-by: Santosh Sivaraj <santosh@fossix.org> > > --- > > test/dpa-alloc.c | 15 ++++++++------- > > test/multi-dax.sh | 6 ++++-- > > test/sector-mode.sh | 4 +++- > > 3 files changed, 15 insertions(+), 10 deletions(-) > > Thanks for the updates, these look good - I've applied them and pushed > out on 'pending'. > > Hi Santosh, Dan noticed that this patch[1] got dropped from the series - just making sure that was intentional? Thanks, -Vishal
On Wed, 2021-05-26 at 19:31 +0000, Verma, Vishal L wrote: > On Thu, 2021-05-13 at 18:17 +0000, Verma, Vishal L wrote: > > On Thu, 2021-05-13 at 11:42 +0530, Santosh Sivaraj wrote: > > > The alignment sizes passed to ndctl in the tests are all hardcoded to 4k, > > > the default page size on x86. Change those to the default page size on that > > > architecture (sysconf/getconf). No functional changes otherwise. > > > > > > Signed-off-by: Santosh Sivaraj <santosh@fossix.org> > > > --- > > > test/dpa-alloc.c | 15 ++++++++------- > > > test/multi-dax.sh | 6 ++++-- > > > test/sector-mode.sh | 4 +++- > > > 3 files changed, 15 insertions(+), 10 deletions(-) > > > > Thanks for the updates, these look good - I've applied them and pushed > > out on 'pending'. > > > > > Hi Santosh, > > Dan noticed that this patch[1] got dropped from the series - just > making sure that was intentional? Oops, hit send too early. [1]: https://lore.kernel.org/linux-nvdimm/20201222042516.2984348-4-santosh@fossix.org/ > > Thanks, > -Vishal
"Verma, Vishal L" <vishal.l.verma@intel.com> writes: Hi Vishal, > On Wed, 2021-05-26 at 19:31 +0000, Verma, Vishal L wrote: >> On Thu, 2021-05-13 at 18:17 +0000, Verma, Vishal L wrote: >> > On Thu, 2021-05-13 at 11:42 +0530, Santosh Sivaraj wrote: >> > > The alignment sizes passed to ndctl in the tests are all hardcoded to 4k, >> > > the default page size on x86. Change those to the default page size on that >> > > architecture (sysconf/getconf). No functional changes otherwise. >> > > >> > > Signed-off-by: Santosh Sivaraj <santosh@fossix.org> >> > > --- >> > > test/dpa-alloc.c | 15 ++++++++------- >> > > test/multi-dax.sh | 6 ++++-- >> > > test/sector-mode.sh | 4 +++- >> > > 3 files changed, 15 insertions(+), 10 deletions(-) >> > >> > Thanks for the updates, these look good - I've applied them and pushed >> > out on 'pending'. >> > >> > >> Hi Santosh, >> >> Dan noticed that this patch[1] got dropped from the series - just >> making sure that was intentional? Yes, that's right. It is intentional. The support SMART test cases are here[1] sent by Shiva, which I have combined with error injection test and sent as one patch series. [1]: https://lkml.kernel.org/r/20210517084259.181236-1-santosh@fossix.org Thanks, Santosh > > Oops, hit send too early. > > [1]: https://lore.kernel.org/linux-nvdimm/20201222042516.2984348-4-santosh@fossix.org/ > >> >> Thanks, >> -Vishal
diff --git a/test/dpa-alloc.c b/test/dpa-alloc.c index 0b3bb7a..59185cf 100644 --- a/test/dpa-alloc.c +++ b/test/dpa-alloc.c @@ -38,12 +38,13 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) struct ndctl_region *region, *blk_region = NULL; struct ndctl_namespace *ndns; struct ndctl_dimm *dimm; - unsigned long size; + unsigned long size, page_size; struct ndctl_bus *bus; char uuid_str[40]; int round; int rc; + page_size = sysconf(_SC_PAGESIZE); /* disable nfit_test.1, not used in this test */ bus = ndctl_bus_get_by_provider(ctx, NFIT_PROVIDER1); if (!bus) @@ -124,11 +125,11 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) return rc; } ndctl_namespace_disable_invalidate(ndns); - rc = ndctl_namespace_set_size(ndns, SZ_4K); + rc = ndctl_namespace_set_size(ndns, page_size); if (rc) { - fprintf(stderr, "failed to init %s to size: %d\n", + fprintf(stderr, "failed to init %s to size: %lu\n", ndctl_namespace_get_devname(ndns), - SZ_4K); + page_size); return rc; } namespaces[i].ndns = ndns; @@ -150,7 +151,7 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns; if (i % ARRAY_SIZE(namespaces) == 0) round++; - size = SZ_4K * round; + size = page_size * round; rc = ndctl_namespace_set_size(ndns, size); if (rc) { fprintf(stderr, "%s: set_size: %lx failed: %d\n", @@ -166,7 +167,7 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) i--; round++; ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns; - size = SZ_4K * round; + size = page_size * round; rc = ndctl_namespace_set_size(ndns, size); if (rc) { fprintf(stderr, "%s failed to update while labels full\n", @@ -175,7 +176,7 @@ static int do_test(struct ndctl_ctx *ctx, struct ndctl_test *test) } round--; - size = SZ_4K * round; + size = page_size * round; rc = ndctl_namespace_set_size(ndns, size); if (rc) { fprintf(stderr, "%s failed to reduce size while labels full\n", diff --git a/test/multi-dax.sh b/test/multi-dax.sh index e932569..9451ed0 100755 --- a/test/multi-dax.sh +++ b/test/multi-dax.sh @@ -12,6 +12,8 @@ check_min_kver "4.13" || do_skip "may lack multi-dax support" trap 'err $LINENO' ERR +ALIGN_SIZE=`getconf PAGESIZE` + # setup (reset nfit_test dimms) modprobe nfit_test $NDCTL disable-region -b $NFIT_TEST_BUS0 all @@ -22,9 +24,9 @@ rc=1 query=". | sort_by(.available_size) | reverse | .[0].dev" region=$($NDCTL list -b $NFIT_TEST_BUS0 -t pmem -Ri | jq -r "$query") -json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M) +json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M) chardev1=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev") -json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M) +json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M) chardev2=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev") _cleanup diff --git a/test/sector-mode.sh b/test/sector-mode.sh index dd7013e..d03c0ca 100755 --- a/test/sector-mode.sh +++ b/test/sector-mode.sh @@ -9,6 +9,8 @@ rc=77 set -e trap 'err $LINENO' ERR +ALIGN_SIZE=`getconf PAGESIZE` + # setup (reset nfit_test dimms) modprobe nfit_test $NDCTL disable-region -b $NFIT_TEST_BUS0 all @@ -25,7 +27,7 @@ NAMESPACE=$($NDCTL list -b $NFIT_TEST_BUS1 -N | jq -r "$query") REGION=$($NDCTL list -R --namespace=$NAMESPACE | jq -r "(.[]) | .dev") echo 0 > /sys/bus/nd/devices/$REGION/read_only $NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K -$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a 4K +$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a $ALIGN_SIZE $NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K _cleanup
The alignment sizes passed to ndctl in the tests are all hardcoded to 4k, the default page size on x86. Change those to the default page size on that architecture (sysconf/getconf). No functional changes otherwise. Signed-off-by: Santosh Sivaraj <santosh@fossix.org> --- test/dpa-alloc.c | 15 ++++++++------- test/multi-dax.sh | 6 ++++-- test/sector-mode.sh | 4 +++- 3 files changed, 15 insertions(+), 10 deletions(-)