Lines Matching refs:iter
341 radix_tree_iter_init(struct radix_tree_iter *iter, unsigned long start) in radix_tree_iter_init() argument
351 iter->index = 0; in radix_tree_iter_init()
352 iter->next_index = start; in radix_tree_iter_init()
370 struct radix_tree_iter *iter, unsigned flags);
382 void **radix_tree_iter_retry(struct radix_tree_iter *iter) in radix_tree_iter_retry() argument
384 iter->next_index = iter->index; in radix_tree_iter_retry()
395 radix_tree_chunk_size(struct radix_tree_iter *iter) in radix_tree_chunk_size() argument
397 return iter->next_index - iter->index; in radix_tree_chunk_size()
412 radix_tree_next_slot(void **slot, struct radix_tree_iter *iter, unsigned flags) in radix_tree_next_slot() argument
415 iter->tags >>= 1; in radix_tree_next_slot()
416 if (likely(iter->tags & 1ul)) { in radix_tree_next_slot()
417 iter->index++; in radix_tree_next_slot()
420 if (!(flags & RADIX_TREE_ITER_CONTIG) && likely(iter->tags)) { in radix_tree_next_slot()
421 unsigned offset = __ffs(iter->tags); in radix_tree_next_slot()
423 iter->tags >>= offset; in radix_tree_next_slot()
424 iter->index += offset + 1; in radix_tree_next_slot()
428 long size = radix_tree_chunk_size(iter); in radix_tree_next_slot()
432 iter->index++; in radix_tree_next_slot()
437 iter->next_index = 0; in radix_tree_next_slot()
456 #define radix_tree_for_each_chunk(slot, root, iter, start, flags) \ argument
457 for (slot = radix_tree_iter_init(iter, start) ; \
458 (slot = radix_tree_next_chunk(root, iter, flags)) ;)
470 #define radix_tree_for_each_chunk_slot(slot, iter, flags) \ argument
471 for (; slot ; slot = radix_tree_next_slot(slot, iter, flags))
483 #define radix_tree_for_each_slot(slot, root, iter, start) \ argument
484 for (slot = radix_tree_iter_init(iter, start) ; \
485 slot || (slot = radix_tree_next_chunk(root, iter, 0)) ; \
486 slot = radix_tree_next_slot(slot, iter, 0))
498 #define radix_tree_for_each_contig(slot, root, iter, start) \ argument
499 for (slot = radix_tree_iter_init(iter, start) ; \
500 slot || (slot = radix_tree_next_chunk(root, iter, \
502 slot = radix_tree_next_slot(slot, iter, \
516 #define radix_tree_for_each_tagged(slot, root, iter, start, tag) \ argument
517 for (slot = radix_tree_iter_init(iter, start) ; \
518 slot || (slot = radix_tree_next_chunk(root, iter, \
520 slot = radix_tree_next_slot(slot, iter, \