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?
_______________________________________________
Linux-nvdimm mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to