tools/testing/nvdimm: make iset cookie predictable
authorDan Williams <dan.j.williams@intel.com>
Wed, 1 Mar 2017 08:03:37 +0000 (00:03 -0800)
committerDan Williams <dan.j.williams@intel.com>
Wed, 1 Mar 2017 08:09:51 +0000 (00:09 -0800)
For testing changes to the iset cookie algorithm we need a value that is
constant from run-to-run.

Stop including dynamic data in the emulated region_offset values. Also,
pick values that sort in a different order depending on whether the
comparison is a memcmp() of two 8-byte arrays or subtraction of two
64-bit values.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
tools/testing/nvdimm/test/nfit.c

index 45be8b55a663453748a8c3156b865610fcfc37a8..798f176554338bdd87a091b3519b83c805abddbe 100644 (file)
@@ -887,7 +887,7 @@ static void nfit_test0_setup(struct nfit_test *t)
        memdev->range_index = 0+1;
        memdev->region_index = 4+1;
        memdev->region_size = SPA0_SIZE/2;
-       memdev->region_offset = t->spa_set_dma[0];
+       memdev->region_offset = 1;
        memdev->address = 0;
        memdev->interleave_index = 0;
        memdev->interleave_ways = 2;
@@ -902,7 +902,7 @@ static void nfit_test0_setup(struct nfit_test *t)
        memdev->range_index = 0+1;
        memdev->region_index = 5+1;
        memdev->region_size = SPA0_SIZE/2;
-       memdev->region_offset = t->spa_set_dma[0] + SPA0_SIZE/2;
+       memdev->region_offset = (1 << 8);
        memdev->address = 0;
        memdev->interleave_index = 0;
        memdev->interleave_ways = 2;
@@ -917,7 +917,7 @@ static void nfit_test0_setup(struct nfit_test *t)
        memdev->range_index = 1+1;
        memdev->region_index = 4+1;
        memdev->region_size = SPA1_SIZE/4;
-       memdev->region_offset = t->spa_set_dma[1];
+       memdev->region_offset = (1 << 16);
        memdev->address = SPA0_SIZE/2;
        memdev->interleave_index = 0;
        memdev->interleave_ways = 4;
@@ -932,7 +932,7 @@ static void nfit_test0_setup(struct nfit_test *t)
        memdev->range_index = 1+1;
        memdev->region_index = 5+1;
        memdev->region_size = SPA1_SIZE/4;
-       memdev->region_offset = t->spa_set_dma[1] + SPA1_SIZE/4;
+       memdev->region_offset = (1 << 24);
        memdev->address = SPA0_SIZE/2;
        memdev->interleave_index = 0;
        memdev->interleave_ways = 4;
@@ -947,7 +947,7 @@ static void nfit_test0_setup(struct nfit_test *t)
        memdev->range_index = 1+1;
        memdev->region_index = 6+1;
        memdev->region_size = SPA1_SIZE/4;
-       memdev->region_offset = t->spa_set_dma[1] + 2*SPA1_SIZE/4;
+       memdev->region_offset = (1ULL << 32);
        memdev->address = SPA0_SIZE/2;
        memdev->interleave_index = 0;
        memdev->interleave_ways = 4;
@@ -962,7 +962,7 @@ static void nfit_test0_setup(struct nfit_test *t)
        memdev->range_index = 1+1;
        memdev->region_index = 7+1;
        memdev->region_size = SPA1_SIZE/4;
-       memdev->region_offset = t->spa_set_dma[1] + 3*SPA1_SIZE/4;
+       memdev->region_offset = (1ULL << 40);
        memdev->address = SPA0_SIZE/2;
        memdev->interleave_index = 0;
        memdev->interleave_ways = 4;
@@ -1380,7 +1380,7 @@ static void nfit_test0_setup(struct nfit_test *t)
                memdev->range_index = 11+1;
                memdev->region_index = 9+1;
                memdev->region_size = SPA0_SIZE;
-               memdev->region_offset = t->spa_set_dma[2];
+               memdev->region_offset = (1ULL << 48);
                memdev->address = 0;
                memdev->interleave_index = 0;
                memdev->interleave_ways = 1;