Lines Matching refs:shift
97 unsigned int offset = (index >> parent->shift) & RADIX_TREE_MAP_MASK; in radix_tree_descend()
220 static inline unsigned long shift_maxindex(unsigned int shift) in shift_maxindex() argument
222 return (RADIX_TREE_MAP_SIZE << shift) - 1; in shift_maxindex()
227 return shift_maxindex(node->shift); in node_maxindex()
234 return (index & ~node_maxindex(node)) + (offset << node->shift); in next_index()
244 unsigned int shift, unsigned int offset, in radix_tree_node_alloc() argument
289 ret->shift = shift; in radix_tree_node_alloc()
407 return node->shift + RADIX_TREE_MAP_SHIFT; in radix_tree_load_root()
418 unsigned long index, unsigned int shift) in radix_tree_extend() argument
425 maxshift = shift; in radix_tree_extend()
435 root, shift, 0, 1, 0); in radix_tree_extend()
453 BUG_ON(shift > BITS_PER_LONG); in radix_tree_extend()
467 shift += RADIX_TREE_MAP_SHIFT; in radix_tree_extend()
468 } while (shift <= maxshift); in radix_tree_extend()
504 if (!node->shift && is_idr(root)) in radix_tree_shrink()
614 unsigned int shift, offset = 0; in __radix_tree_create() local
618 shift = radix_tree_load_root(root, &child, &maxindex); in __radix_tree_create()
622 int error = radix_tree_extend(root, gfp, max, shift); in __radix_tree_create()
625 shift = error; in __radix_tree_create()
629 while (shift > 0) { in __radix_tree_create()
630 shift -= RADIX_TREE_MAP_SHIFT; in __radix_tree_create()
633 child = radix_tree_node_alloc(gfp, node, root, shift, in __radix_tree_create()
672 if (xa_is_node(entry) && child->shift) { in radix_tree_free_nodes()
779 if (parent->shift == 0) in __radix_tree_lookup()
1223 index += offset << node->shift; in radix_tree_next_chunk()
1236 } while (node->shift && radix_tree_is_internal_node(child)); in radix_tree_next_chunk()
1492 unsigned int shift, offset = 0; in idr_get_free() local
1495 shift = radix_tree_load_root(root, &child, &maxindex); in idr_get_free()
1502 int error = radix_tree_extend(root, gfp, start, shift); in idr_get_free()
1505 shift = error; in idr_get_free()
1508 if (start == 0 && shift == 0) in idr_get_free()
1509 shift = RADIX_TREE_MAP_SHIFT; in idr_get_free()
1511 while (shift) { in idr_get_free()
1512 shift -= RADIX_TREE_MAP_SHIFT; in idr_get_free()
1515 child = radix_tree_node_alloc(gfp, node, root, shift, in idr_get_free()
1539 shift = node->shift; in idr_get_free()