• Home
  • Raw
  • Download

Lines Matching refs:offset

103 	unsigned int offset = (index >> parent->shift) & RADIX_TREE_MAP_MASK;  in radix_tree_descend()  local
104 void **entry = rcu_dereference_raw(parent->slots[offset]); in radix_tree_descend()
110 offset = get_slot_offset(parent, sibentry); in radix_tree_descend()
117 return offset; in radix_tree_descend()
126 int offset) in tag_set() argument
128 __set_bit(offset, node->tags[tag]); in tag_set()
132 int offset) in tag_clear() argument
134 __clear_bit(offset, node->tags[tag]); in tag_clear()
138 int offset) in tag_get() argument
140 return test_bit(offset, node->tags[tag]); in tag_get()
195 unsigned long size, unsigned long offset) in radix_tree_find_next_bit() argument
198 return find_next_bit(addr, size, offset); in radix_tree_find_next_bit()
200 if (offset < size) { in radix_tree_find_next_bit()
203 addr += offset / BITS_PER_LONG; in radix_tree_find_next_bit()
204 tmp = *addr >> (offset % BITS_PER_LONG); in radix_tree_find_next_bit()
206 return __ffs(tmp) + offset; in radix_tree_find_next_bit()
207 offset = (offset + BITS_PER_LONG) & ~(BITS_PER_LONG - 1); in radix_tree_find_next_bit()
208 while (offset < size) { in radix_tree_find_next_bit()
211 return __ffs(tmp) + offset; in radix_tree_find_next_bit()
212 offset += BITS_PER_LONG; in radix_tree_find_next_bit()
224 node, node->offset, in dump_node()
522 node->offset = 0; in radix_tree_extend()
560 unsigned int shift, offset = 0; in __radix_tree_create() local
584 child->offset = offset; in __radix_tree_create()
594 offset = radix_tree_descend(node, &child, index); in __radix_tree_create()
595 slot = &node->slots[offset]; in __radix_tree_create()
602 offset = offset & ~(n - 1); in __radix_tree_create()
603 slot = &node->slots[offset]; in __radix_tree_create()
650 unsigned offset = get_slot_offset(node, slot); in __radix_tree_insert() local
652 BUG_ON(tag_get(node, 0, offset)); in __radix_tree_insert()
653 BUG_ON(tag_get(node, 1, offset)); in __radix_tree_insert()
654 BUG_ON(tag_get(node, 2, offset)); in __radix_tree_insert()
692 unsigned offset; in __radix_tree_lookup() local
697 offset = radix_tree_descend(parent, &node, index); in __radix_tree_lookup()
698 slot = parent->slots + offset; in __radix_tree_lookup()
772 unsigned offset; in radix_tree_tag_set() local
775 offset = radix_tree_descend(parent, &node, index); in radix_tree_tag_set()
778 if (!tag_get(parent, tag, offset)) in radix_tree_tag_set()
779 tag_set(parent, tag, offset); in radix_tree_tag_set()
792 unsigned int tag, unsigned int offset) in node_tag_clear() argument
795 if (!tag_get(node, tag, offset)) in node_tag_clear()
797 tag_clear(node, tag, offset); in node_tag_clear()
801 offset = node->offset; in node_tag_clear()
829 int uninitialized_var(offset); in radix_tree_tag_clear()
839 offset = radix_tree_descend(parent, &node, index); in radix_tree_tag_clear()
843 node_tag_clear(root, parent, tag, offset); in radix_tree_tag_clear()
880 unsigned offset; in radix_tree_tag_get() local
883 offset = radix_tree_descend(parent, &node, index); in radix_tree_tag_get()
887 if (!tag_get(parent, tag, offset)) in radix_tree_tag_get()
918 unsigned long index, offset, maxindex; in radix_tree_next_chunk() local
954 offset = radix_tree_descend(node, &child, index); in radix_tree_next_chunk()
957 !tag_get(node, tag, offset) : !child) { in radix_tree_next_chunk()
963 offset = radix_tree_find_next_bit( in radix_tree_next_chunk()
966 offset + 1); in radix_tree_next_chunk()
968 while (++offset < RADIX_TREE_MAP_SIZE) { in radix_tree_next_chunk()
969 void *slot = node->slots[offset]; in radix_tree_next_chunk()
976 index += offset << node->shift; in radix_tree_next_chunk()
980 if (offset == RADIX_TREE_MAP_SIZE) in radix_tree_next_chunk()
982 child = rcu_dereference_raw(node->slots[offset]); in radix_tree_next_chunk()
990 iter->index = (index &~ node_maxindex(node)) | (offset << node->shift); in radix_tree_next_chunk()
998 tag_long = offset / BITS_PER_LONG; in radix_tree_next_chunk()
999 tag_bit = offset % BITS_PER_LONG; in radix_tree_next_chunk()
1012 return node->slots + offset; in radix_tree_next_chunk()
1072 unsigned offset = radix_tree_descend(node, &child, index); in radix_tree_range_tag_if_tagged() local
1075 if (!tag_get(node, iftag, offset)) in radix_tree_range_tag_if_tagged()
1085 tag_set(node, settag, offset); in radix_tree_range_tag_if_tagged()
1090 offset = parent->offset; in radix_tree_range_tag_if_tagged()
1095 if (tag_get(parent, settag, offset)) in radix_tree_range_tag_if_tagged()
1097 tag_set(parent, settag, offset); in radix_tree_range_tag_if_tagged()
1105 offset = (index >> node->shift) & RADIX_TREE_MAP_MASK; in radix_tree_range_tag_if_tagged()
1106 while (offset == 0) { in radix_tree_range_tag_if_tagged()
1113 offset = (index >> node->shift) & RADIX_TREE_MAP_MASK; in radix_tree_range_tag_if_tagged()
1115 if (is_sibling_entry(node, node->slots[offset])) in radix_tree_range_tag_if_tagged()
1492 parent->slots[node->offset] = NULL; in __radix_tree_delete_node()
1509 void *ptr, unsigned offset) in delete_sibling_entries() argument
1513 for (i = 1; offset + i < RADIX_TREE_MAP_SIZE; i++) { in delete_sibling_entries()
1514 if (node->slots[offset + i] != ptr) in delete_sibling_entries()
1516 node->slots[offset + i] = NULL; in delete_sibling_entries()
1537 unsigned int offset; in radix_tree_delete_item() local
1555 offset = get_slot_offset(node, slot); in radix_tree_delete_item()
1559 node_tag_clear(root, node, tag, offset); in radix_tree_delete_item()
1561 delete_sibling_entries(node, node_to_entry(slot), offset); in radix_tree_delete_item()
1562 node->slots[offset] = NULL; in radix_tree_delete_item()
1591 unsigned int tag, offset = get_slot_offset(node, slot); in radix_tree_clear_tags() local
1593 node_tag_clear(root, node, tag, offset); in radix_tree_clear_tags()