Lines Matching refs:root
47 radix_max(struct radix_tree_root *root) in radix_max() argument
49 return ((1UL << (root->height * RADIX_TREE_MAP_SHIFT)) - 1UL); in radix_max()
59 radix_tree_lookup(struct radix_tree_root *root, unsigned long index) in radix_tree_lookup() argument
66 node = root->rnode; in radix_tree_lookup()
67 height = root->height - 1; in radix_tree_lookup()
68 if (index > radix_max(root)) in radix_tree_lookup()
80 radix_tree_iter_find(struct radix_tree_root *root, struct radix_tree_iter *iter, in radix_tree_iter_find() argument
88 node = root->rnode; in radix_tree_iter_find()
91 height = root->height - 1; in radix_tree_iter_find()
92 if (height == -1 || index > radix_max(root)) in radix_tree_iter_find()
119 radix_tree_delete(struct radix_tree_root *root, unsigned long index) in radix_tree_delete() argument
128 node = root->rnode; in radix_tree_delete()
129 height = root->height - 1; in radix_tree_delete()
130 if (index > radix_max(root)) in radix_tree_delete()
152 if (node == root->rnode) { in radix_tree_delete()
153 root->rnode = NULL; in radix_tree_delete()
154 root->height = 0; in radix_tree_delete()
166 radix_tree_iter_delete(struct radix_tree_root *root, in radix_tree_iter_delete() argument
169 radix_tree_delete(root, iter->index); in radix_tree_iter_delete()
173 radix_tree_insert(struct radix_tree_root *root, unsigned long index, void *item) in radix_tree_insert() argument
185 node = root->rnode; in radix_tree_insert()
189 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_insert()
192 root->rnode = node; in radix_tree_insert()
193 root->height++; in radix_tree_insert()
197 while (radix_max(root) < index) { in radix_tree_insert()
200 if (root->height == RADIX_TREE_MAX_HEIGHT) in radix_tree_insert()
208 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_insert()
211 node->slots[0] = root->rnode; in radix_tree_insert()
213 root->rnode = node; in radix_tree_insert()
215 root->height++; in radix_tree_insert()
219 height = root->height - 1; in radix_tree_insert()
232 root->gfp_mask | M_ZERO); in radix_tree_insert()
237 if (root->rnode->count == 0) { in radix_tree_insert()
238 free(root->rnode, M_RADIX); in radix_tree_insert()
239 root->rnode = NULL; in radix_tree_insert()
240 root->height = 0; in radix_tree_insert()