Lines Matching refs:iter
201 static unsigned int iter_offset(const struct radix_tree_iter *iter) in iter_offset() argument
203 return iter->index & RADIX_TREE_MAP_MASK; in iter_offset()
930 const struct radix_tree_iter *iter, in radix_tree_iter_replace() argument
933 __radix_tree_replace(root, iter->node, slot, item); in radix_tree_iter_replace()
1059 const struct radix_tree_iter *iter, unsigned int tag) in radix_tree_iter_tag_clear() argument
1061 node_tag_clear(root, iter->node, tag, iter_offset(iter)); in radix_tree_iter_tag_clear()
1109 static void set_iter_tags(struct radix_tree_iter *iter, in set_iter_tags() argument
1117 iter->tags = 1; in set_iter_tags()
1121 iter->tags = node->tags[tag][tag_long] >> tag_bit; in set_iter_tags()
1127 iter->tags |= node->tags[tag][tag_long + 1] << in set_iter_tags()
1130 iter->next_index = __radix_tree_iter_add(iter, BITS_PER_LONG); in set_iter_tags()
1135 struct radix_tree_iter *iter) in radix_tree_iter_resume() argument
1137 iter->index = __radix_tree_iter_add(iter, 1); in radix_tree_iter_resume()
1138 iter->next_index = iter->index; in radix_tree_iter_resume()
1139 iter->tags = 0; in radix_tree_iter_resume()
1153 struct radix_tree_iter *iter, unsigned flags) in radix_tree_next_chunk() argument
1171 index = iter->next_index; in radix_tree_next_chunk()
1172 if (!index && iter->index) in radix_tree_next_chunk()
1184 iter->index = index; in radix_tree_next_chunk()
1185 iter->next_index = maxindex + 1; in radix_tree_next_chunk()
1186 iter->tags = 1; in radix_tree_next_chunk()
1187 iter->node = NULL; in radix_tree_next_chunk()
1228 iter->index = (index &~ node_maxindex(node)) | offset; in radix_tree_next_chunk()
1229 iter->next_index = (index | node_maxindex(node)) + 1; in radix_tree_next_chunk()
1230 iter->node = node; in radix_tree_next_chunk()
1233 set_iter_tags(iter, node, offset, tag); in radix_tree_next_chunk()
1263 struct radix_tree_iter iter; in radix_tree_gang_lookup() local
1270 radix_tree_for_each_slot(slot, root, &iter, first_index) { in radix_tree_gang_lookup()
1275 slot = radix_tree_iter_retry(&iter); in radix_tree_gang_lookup()
1304 struct radix_tree_iter iter; in radix_tree_gang_lookup_tag() local
1311 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag()
1316 slot = radix_tree_iter_retry(&iter); in radix_tree_gang_lookup_tag()
1345 struct radix_tree_iter iter; in radix_tree_gang_lookup_tag_slot() local
1352 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag_slot()
1393 struct radix_tree_iter *iter, void __rcu **slot) in radix_tree_iter_delete() argument
1395 if (__radix_tree_delete(root, iter->node, slot)) in radix_tree_iter_delete()
1396 iter->index = iter->next_index; in radix_tree_iter_delete()
1475 struct radix_tree_iter *iter, gfp_t gfp, in idr_get_free() argument
1480 unsigned long maxindex, start = iter->next_index; in idr_get_free()
1535 iter->index = start; in idr_get_free()
1537 iter->next_index = 1 + min(max, (start | node_maxindex(node))); in idr_get_free()
1539 iter->next_index = 1; in idr_get_free()
1540 iter->node = node; in idr_get_free()
1541 set_iter_tags(iter, node, offset, IDR_FREE); in idr_get_free()