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);
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)
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);