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]

Reply via email to