Dan Williams <[email protected]> writes: > On Mon, Dec 21, 2020 at 8:26 PM Santosh Sivaraj <[email protected]> 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 <[email protected]> >> --- >> test/dpa-alloc.c | 23 ++++++++++++++--------- >> test/multi-dax.sh | 6 ++++-- >> test/sector-mode.sh | 4 +++- >> 3 files changed, 21 insertions(+), 12 deletions(-) >> >> diff --git a/test/dpa-alloc.c b/test/dpa-alloc.c >> index 10af189..ff6143e 100644 >> --- a/test/dpa-alloc.c >> +++ b/test/dpa-alloc.c >> @@ -48,12 +48,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) >> @@ -134,11 +135,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; >> @@ -160,7 +161,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", >> @@ -176,7 +177,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", >> @@ -185,7 +186,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", >> @@ -279,8 +280,12 @@ static int do_test(struct ndctl_ctx *ctx, struct >> ndctl_test *test) >> >> available_slots = ndctl_dimm_get_available_labels(dimm); >> if (available_slots != default_available_slots - 1) { >> - fprintf(stderr, "mishandled slot count\n"); >> - return -ENXIO; >> + fprintf(stderr, "mishandled slot count (%u, %u)\n", >> + available_slots, default_available_slots - 1); >> + >> + /* TODO: fix it on non-acpi platforms */ >> + if (ndctl_bus_has_nfit(bus)) >> + return -ENXIO; > > This change seems unrelated to page size fixups. Care to break it out?
Sure Dan, I will add the API to check for DIMM error state flags too. Thanks for the review, I will send a v2 soon. Thanks, Santosh _______________________________________________ Linux-nvdimm mailing list -- [email protected] To unsubscribe send an email to [email protected]
