Lines Matching defs:iter
203 static unsigned int iter_offset(const struct radix_tree_iter *iter)
205 return iter->index & RADIX_TREE_MAP_MASK;
924 * @iter: iterator state
932 const struct radix_tree_iter *iter,
935 __radix_tree_replace(root, iter->node, slot, item);
1057 * @iter: iterator state
1061 const struct radix_tree_iter *iter, unsigned int tag)
1063 node_tag_clear(root, iter->node, tag, iter_offset(iter));
1110 /* Construct iter->tags bit-mask from node->tags[tag] array */
1111 static void set_iter_tags(struct radix_tree_iter *iter,
1119 iter->tags = 1;
1123 iter->tags = node->tags[tag][tag_long] >> tag_bit;
1129 iter->tags |= node->tags[tag][tag_long + 1] <<
1132 iter->next_index = __radix_tree_iter_add(iter, BITS_PER_LONG);
1137 struct radix_tree_iter *iter)
1139 iter->index = __radix_tree_iter_add(iter, 1);
1140 iter->next_index = iter->index;
1141 iter->tags = 0;
1150 * @iter: iterator state
1155 struct radix_tree_iter *iter, unsigned flags)
1165 * Catch next_index overflow after ~0UL. iter->index never overflows
1167 * And we cannot overflow iter->next_index in a single step,
1173 index = iter->next_index;
1174 if (!index && iter->index)
1186 iter->index = index;
1187 iter->next_index = maxindex + 1;
1188 iter->tags = 1;
1189 iter->node = NULL;
1230 iter->index = (index &~ node_maxindex(node)) | offset;
1231 iter->next_index = (index | node_maxindex(node)) + 1;
1232 iter->node = node;
1235 set_iter_tags(iter, node, offset, tag);
1265 struct radix_tree_iter iter;
1272 radix_tree_for_each_slot(slot, root, &iter, first_index) {
1277 slot = radix_tree_iter_retry(&iter);
1306 struct radix_tree_iter iter;
1313 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) {
1318 slot = radix_tree_iter_retry(&iter);
1347 struct radix_tree_iter iter;
1354 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) {
1385 * @iter: iterator state
1395 struct radix_tree_iter *iter, void __rcu **slot)
1397 if (__radix_tree_delete(root, iter->node, slot))
1398 iter->index = iter->next_index;
1477 struct radix_tree_iter *iter, gfp_t gfp,
1482 unsigned long maxindex, start = iter->next_index;
1537 iter->index = start;
1539 iter->next_index = 1 + min(max, (start | node_maxindex(node)));
1541 iter->next_index = 1;
1542 iter->node = node;
1543 set_iter_tags(iter, node, offset, IDR_FREE);