]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
test_maple_tree: Fix range checking.
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Thu, 14 Mar 2019 16:53:16 +0000 (12:53 -0400)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Wed, 31 Jul 2019 14:52:41 +0000 (10:52 -0400)
Checking a range was not using the correct number range.

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
lib/test_maple_tree.c

index 948e13c30fff95381683012c2b5333fff8f0fe30..435625e2206ab726d149aa599b5064eff23a132b 100644 (file)
@@ -73,7 +73,7 @@ static noinline void check_insert_range(struct maple_tree *mt,
        int ret = -EINVAL;
        unsigned long i;
        ret = mtree_test_insert_range(mt, start, end, ptr);
-       for (i = start; i >= end; i++) {
+       for (i = start; i <= end; i++) {
                check_load(mt, i, ptr);
        }
        MT_BUG_ON(mt, ret != 0);
@@ -266,6 +266,37 @@ static noinline void check_mid_split(struct maple_tree *mt)
        check_insert(mt, 0, (void*) 0);
        check_lb_not_empty(mt);
 }
+
+static noinline void check_alloc_range(struct maple_tree *mt)
+{
+       // cat /proc/self/maps|awk '{print $1}'| awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}'
+       unsigned long range[] = { 0x565234af2000, 0x565234af4000,
+               0x565234af4000, 0x565234af9000, 0x565234af9000,
+               0x565234afb000, 0x565234afc000, 0x565234afd000,
+               0x565234afd000, 0x565234afe000, 0x565235def000,
+               0x565235e10000, 0x7f36d4bfd000, 0x7f36d4ee2000,
+               0x7f36d4ee2000, 0x7f36d4f04000, 0x7f36d4f04000,
+               0x7f36d504c000, 0x7f36d504c000, 0x7f36d5098000,
+               0x7f36d5098000, 0x7f36d5099000, 0x7f36d5099000,
+               0x7f36d509d000, 0x7f36d509d000, 0x7f36d509f000,
+               0x7f36d509f000, 0x7f36d50a5000, 0x7f36d50b9000,
+               0x7f36d50db000, 0x7f36d50db000, 0x7f36d50dc000,
+               0x7f36d50dc000, 0x7f36d50fa000, 0x7f36d50fa000,
+               0x7f36d5102000, 0x7f36d5102000, 0x7f36d5103000,
+               0x7f36d5103000, 0x7f36d5104000, 0x7f36d5104000,
+               0x7f36d5105000, 0x7fff5876b000, 0x7fff5878d000,
+               0x7fff5878e000, 0x7fff58791000, 0x7fff58791000,
+               0x7fff58793000,};
+       int i, range_cnt = 48;
+
+       for (i = 0; i < range_cnt/2; i+=2) {
+               check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1,
+                               check_alloc_range);
+       }
+
+
+       mtree_destroy(mt);
+}
 static DEFINE_MTREE(tree);
 
 static int maple_tree_seed(void)
@@ -385,6 +416,7 @@ static int maple_tree_seed(void)
        check_insert(&tree, set[7], &tree);
        check_load(&tree, set[0], ptr);
        check_insert(&tree, set[8], ptr);
+
        check_insert(&tree, set[9], &tree);
 
        check_load(&tree, set[0], ptr);