Lines Matching refs:index
326 static int radix_tree_extend(struct radix_tree_root *root, unsigned long index) in radix_tree_extend() argument
335 while (index > radix_tree_maxindex(height)) in radix_tree_extend()
390 int __radix_tree_create(struct radix_tree_root *root, unsigned long index, in __radix_tree_create() argument
398 if (index > radix_tree_maxindex(root->height)) { in __radix_tree_create()
399 error = radix_tree_extend(root, index); in __radix_tree_create()
426 offset = (index >> shift) & RADIX_TREE_MAP_MASK; in __radix_tree_create()
449 unsigned long index, void *item) in radix_tree_insert() argument
457 error = __radix_tree_create(root, index, &node, &slot); in radix_tree_insert()
466 BUG_ON(tag_get(node, 0, index & RADIX_TREE_MAP_MASK)); in radix_tree_insert()
467 BUG_ON(tag_get(node, 1, index & RADIX_TREE_MAP_MASK)); in radix_tree_insert()
491 void *__radix_tree_lookup(struct radix_tree_root *root, unsigned long index, in __radix_tree_lookup() argument
503 if (index > 0) in __radix_tree_lookup()
515 if (index > radix_tree_maxindex(height)) in __radix_tree_lookup()
522 slot = node->slots + ((index >> shift) & RADIX_TREE_MAP_MASK); in __radix_tree_lookup()
551 void **radix_tree_lookup_slot(struct radix_tree_root *root, unsigned long index) in radix_tree_lookup_slot() argument
555 if (!__radix_tree_lookup(root, index, NULL, &slot)) in radix_tree_lookup_slot()
573 void *radix_tree_lookup(struct radix_tree_root *root, unsigned long index) in radix_tree_lookup() argument
575 return __radix_tree_lookup(root, index, NULL, NULL); in radix_tree_lookup()
593 unsigned long index, unsigned int tag) in radix_tree_tag_set() argument
599 BUG_ON(index > radix_tree_maxindex(height)); in radix_tree_tag_set()
607 offset = (index >> shift) & RADIX_TREE_MAP_MASK; in radix_tree_tag_set()
639 unsigned long index, unsigned int tag) in radix_tree_tag_clear() argument
647 if (index > radix_tree_maxindex(height)) in radix_tree_tag_clear()
658 offset = (index >> shift) & RADIX_TREE_MAP_MASK; in radix_tree_tag_clear()
673 index >>= RADIX_TREE_MAP_SHIFT; in radix_tree_tag_clear()
674 offset = index & RADIX_TREE_MAP_MASK; in radix_tree_tag_clear()
703 unsigned long index, unsigned int tag) in radix_tree_tag_get() argument
717 return (index == 0); in radix_tree_tag_get()
721 if (index > radix_tree_maxindex(height)) in radix_tree_tag_get()
732 offset = (index >> shift) & RADIX_TREE_MAP_MASK; in radix_tree_tag_get()
757 unsigned long index, offset, height; in radix_tree_next_chunk() local
771 index = iter->next_index; in radix_tree_next_chunk()
772 if (!index && iter->index) in radix_tree_next_chunk()
778 } else if (rnode && !index) { in radix_tree_next_chunk()
780 iter->index = 0; in radix_tree_next_chunk()
790 offset = index >> shift; in radix_tree_next_chunk()
815 index &= ~((RADIX_TREE_MAP_SIZE << shift) - 1); in radix_tree_next_chunk()
816 index += offset << shift; in radix_tree_next_chunk()
818 if (!index) in radix_tree_next_chunk()
832 offset = (index >> shift) & RADIX_TREE_MAP_MASK; in radix_tree_next_chunk()
836 iter->index = index; in radix_tree_next_chunk()
837 iter->next_index = (index | RADIX_TREE_MAP_MASK) + 1; in radix_tree_next_chunk()
853 iter->next_index = index + BITS_PER_LONG; in radix_tree_next_chunk()
898 unsigned long index = *first_indexp; in radix_tree_range_tag_if_tagged() local
901 if (index > last_index) in radix_tree_range_tag_if_tagged()
922 offset = (index >> shift) & RADIX_TREE_MAP_MASK; in radix_tree_range_tag_if_tagged()
940 upindex = index; in radix_tree_range_tag_if_tagged()
963 index = ((index >> shift) + 1) << shift; in radix_tree_range_tag_if_tagged()
965 if (index > last_index || !index) in radix_tree_range_tag_if_tagged()
969 while (((index >> shift) & RADIX_TREE_MAP_MASK) == 0) { in radix_tree_range_tag_if_tagged()
985 *first_indexp = index; in radix_tree_range_tag_if_tagged()
1070 indices[ret] = iter.index; in radix_tree_gang_lookup_slot()
1162 unsigned long index, unsigned long *found_index) in __locate() argument
1171 i = (index >> shift) & RADIX_TREE_MAP_MASK; in __locate()
1175 index &= ~((1UL << shift) - 1); in __locate()
1176 index += 1UL << shift; in __locate()
1177 if (index == 0) in __locate()
1193 *found_index = index + i; in __locate()
1194 index = 0; in __locate()
1198 index += RADIX_TREE_MAP_SIZE; in __locate()
1200 return index; in __locate()
1377 unsigned long index, void *item) in radix_tree_delete_item() argument
1385 entry = __radix_tree_lookup(root, index, &node, &slot); in radix_tree_delete_item()
1398 offset = index & RADIX_TREE_MAP_MASK; in radix_tree_delete_item()
1406 radix_tree_tag_clear(root, index, tag); in radix_tree_delete_item()
1427 void *radix_tree_delete(struct radix_tree_root *root, unsigned long index) in radix_tree_delete() argument
1429 return radix_tree_delete_item(root, index, NULL); in radix_tree_delete()