From 0887467170868db06ae2b266fdaa66a41b07ce5e Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Mon, 4 Nov 2019 16:03:47 -0500 Subject: [PATCH] test_maple_tree: Update gap tests to use correct calculated size. Update the oversize test to ensure there is not sufficient room since the size is correctly one larger now. Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index d50834174993..f7dc5208ebf6 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -38,8 +38,8 @@ int mtree_insert_index(struct maple_tree *mt, unsigned long index, gfp_t gfp) static void mtree_erase_index(struct maple_tree *mt, unsigned long index) { - MT_BUG_ON(mt, mtree_erase(mt, index) != xa_mk_value(index & LONG_MAX)); - MT_BUG_ON(mt, mtree_load(mt, index) != NULL); + MT_BUG_ON(mt, mtree_erase(mt, index) != xa_mk_value(index & LONG_MAX)); + MT_BUG_ON(mt, mtree_load(mt, index) != NULL); } static int mtree_test_insert(struct maple_tree *mt, unsigned long index, @@ -690,7 +690,6 @@ static noinline void check_erase_testset(struct maple_tree *mt) erase_check_load(mt, i); } - erase_check_erase(mt, 20); //8003 for (int i = 0; i < 25; i++) { if (i <= 20 && i >= 13) @@ -708,7 +707,6 @@ static noinline void check_erase_testset(struct maple_tree *mt) erase_check_load(mt, i); } - mt_set_non_kernel(1); erase_check_erase(mt, 22); //8008 for (int i = 0; i < 25; i++) { @@ -835,7 +833,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) // Too big test. 0x0, 18446744073709551615UL, - 562915594369133 << 12, + 562915594369134UL << 12, 0x0, -EBUSY, @@ -850,6 +848,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) // Inclusive , Inclusive (with the -1) check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, xa_mk_value(range[i] >> 12), 0); + mt_validate(mt); } for (i = 0; i < req_range_cnt; i += 5) { @@ -860,6 +859,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt) req_range[i+3] >> 12, // expected address req_range[i+4], // expected return xa_mk_value(req_range[i] >> 12)); // pointer + mt_validate(mt); } mtree_destroy(mt); @@ -963,6 +963,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) for (i = 0; i < range_cnt; i += 2) { check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, xa_mk_value(range[i] >> 12), 0); + mt_validate(mt); } for (i = 0; i < req_range_cnt; i += 5) { @@ -973,6 +974,7 @@ static noinline void check_alloc_range(struct maple_tree *mt) req_range[i+3] >> 12, // expected address req_range[i+4], // expected return xa_mk_value(req_range[i] >> 12)); // pointer + mt_validate(mt); } mtree_destroy(mt); @@ -1037,10 +1039,35 @@ static noinline void check_ranges(struct maple_tree *mt) } static noinline void check_next_entry(struct maple_tree *mt) +{ +// void *entry = NULL; + unsigned long limit = 30, i = 1; + MT_BUG_ON(mt, !mtree_empty(mt)); +// MA_STATE(mas, mt, i, i); + + check_seq(mt, limit, false); + rcu_read_lock(); +#if 0 + for (;i >= limit; i++) { + //mas_next_entry + MT_BUG_ON(mt, entry != i(void*)); + i++; + } + BUG_ON(i != limit); + mas +#endif + rcu_read_unlock(); + mtree_destroy(mt); + +} + +static noinline void check_prev_entry(struct maple_tree *mt) { MT_BUG_ON(mt, !mtree_empty(mt)); check_seq(mt, 30, false); + rcu_read_lock(); + rcu_read_unlock(); mtree_destroy(mt); } @@ -1061,6 +1088,9 @@ static int maple_tree_seed(void) mtree_init(&tree, 0); check_next_entry(&tree); + mtree_init(&tree, 0); + check_prev_entry(&tree); + /* Test ranges (store and insert) */ mtree_init(&tree, 0); check_ranges(&tree); -- 2.50.1