Lines Matching refs:height
46 return ((1UL << (root->height * RADIX_TREE_MAP_SHIFT)) - 1UL); in radix_max()
50 radix_pos(long id, int height) in radix_pos() argument
52 return (id >> (RADIX_TREE_MAP_SHIFT * height)) & RADIX_TREE_MAP_MASK; in radix_pos()
62 root->height = 0; in radix_tree_clean_root_node()
71 int height; in radix_tree_lookup() local
75 height = root->height - 1; in radix_tree_lookup()
78 while (height && node) in radix_tree_lookup()
79 node = node->slots[radix_pos(index, height--)]; in radix_tree_lookup()
93 int height; in radix_tree_iter_find() local
99 height = root->height - 1; in radix_tree_iter_find()
100 if (height == -1 || index > radix_max(root)) in radix_tree_iter_find()
103 unsigned long mask = RADIX_TREE_MAP_MASK << (RADIX_TREE_MAP_SHIFT * height); in radix_tree_iter_find()
104 unsigned long step = 1UL << (RADIX_TREE_MAP_SHIFT * height); in radix_tree_iter_find()
105 int pos = radix_pos(index, height); in radix_tree_iter_find()
119 height--; in radix_tree_iter_find()
121 } while (height != -1); in radix_tree_iter_find()
132 int height; in radix_tree_delete() local
137 height = root->height - 1; in radix_tree_delete()
143 while (height && node) { in radix_tree_delete()
144 stack[height] = node; in radix_tree_delete()
145 node = node->slots[radix_pos(index, height--)]; in radix_tree_delete()
162 root->height = 0; in radix_tree_delete()
165 height++; in radix_tree_delete()
166 node = stack[height]; in radix_tree_delete()
167 idx = radix_pos(index, height); in radix_tree_delete()
185 int height; in radix_tree_insert() local
201 root->height++; in radix_tree_insert()
207 if (root->height == RADIX_TREE_MAX_HEIGHT) { in radix_tree_insert()
232 root->height++; in radix_tree_insert()
236 height = root->height - 1; in radix_tree_insert()
239 for ( ; height != 0; height--) { in radix_tree_insert()
240 idx = radix_pos(index, height); in radix_tree_insert()
247 for (idx = 0; idx != height; idx++) { in radix_tree_insert()
259 for ( ; height != 0; height--) { in radix_tree_insert()
260 idx = radix_pos(index, height); in radix_tree_insert()
261 node->slots[idx] = temp[height - 1]; in radix_tree_insert()
284 int height; in radix_tree_store() local
305 root->height++; in radix_tree_store()
311 if (root->height == RADIX_TREE_MAX_HEIGHT) { in radix_tree_store()
336 root->height++; in radix_tree_store()
340 height = root->height - 1; in radix_tree_store()
343 for ( ; height != 0; height--) { in radix_tree_store()
344 idx = radix_pos(index, height); in radix_tree_store()
351 for (idx = 0; idx != height; idx++) { in radix_tree_store()
363 for ( ; height != 0; height--) { in radix_tree_store()
364 idx = radix_pos(index, height); in radix_tree_store()
365 node->slots[idx] = temp[height - 1]; in radix_tree_store()