Lines Matching refs:height

47 	return ((1UL << (root->height * RADIX_TREE_MAP_SHIFT)) - 1UL);  in radix_max()
51 radix_pos(long id, int height) in radix_pos() argument
53 return (id >> (RADIX_TREE_MAP_SHIFT * height)) & RADIX_TREE_MAP_MASK; in radix_pos()
63 root->height = 0; in radix_tree_clean_root_node()
72 int height; in radix_tree_lookup() local
76 height = root->height - 1; in radix_tree_lookup()
79 while (height && node) in radix_tree_lookup()
80 node = node->slots[radix_pos(index, height--)]; in radix_tree_lookup()
94 int height; in radix_tree_iter_find() local
100 height = root->height - 1; in radix_tree_iter_find()
101 if (height == -1 || index > radix_max(root)) in radix_tree_iter_find()
104 unsigned long mask = RADIX_TREE_MAP_MASK << (RADIX_TREE_MAP_SHIFT * height); in radix_tree_iter_find()
105 unsigned long step = 1UL << (RADIX_TREE_MAP_SHIFT * height); in radix_tree_iter_find()
106 int pos = radix_pos(index, height); in radix_tree_iter_find()
120 height--; in radix_tree_iter_find()
122 } while (height != -1); in radix_tree_iter_find()
133 int height; in radix_tree_delete() local
138 height = root->height - 1; in radix_tree_delete()
144 while (height && node) { in radix_tree_delete()
145 stack[height] = node; in radix_tree_delete()
146 node = node->slots[radix_pos(index, height--)]; in radix_tree_delete()
163 root->height = 0; in radix_tree_delete()
166 height++; in radix_tree_delete()
167 node = stack[height]; in radix_tree_delete()
168 idx = radix_pos(index, height); in radix_tree_delete()
186 int height; in radix_tree_insert() local
202 root->height++; in radix_tree_insert()
208 if (root->height == RADIX_TREE_MAX_HEIGHT) { in radix_tree_insert()
233 root->height++; in radix_tree_insert()
237 height = root->height - 1; in radix_tree_insert()
240 for ( ; height != 0; height--) { in radix_tree_insert()
241 idx = radix_pos(index, height); in radix_tree_insert()
248 for (idx = 0; idx != height; idx++) { in radix_tree_insert()
260 for ( ; height != 0; height--) { in radix_tree_insert()
261 idx = radix_pos(index, height); in radix_tree_insert()
262 node->slots[idx] = temp[height - 1]; in radix_tree_insert()
285 int height; in radix_tree_store() local
306 root->height++; in radix_tree_store()
312 if (root->height == RADIX_TREE_MAX_HEIGHT) { in radix_tree_store()
337 root->height++; in radix_tree_store()
341 height = root->height - 1; in radix_tree_store()
344 for ( ; height != 0; height--) { in radix_tree_store()
345 idx = radix_pos(index, height); in radix_tree_store()
352 for (idx = 0; idx != height; idx++) { in radix_tree_store()
364 for ( ; height != 0; height--) { in radix_tree_store()
365 idx = radix_pos(index, height); in radix_tree_store()
366 node->slots[idx] = temp[height - 1]; in radix_tree_store()