Lines Matching refs:iter
233 struct radix_tree_iter *iter, void __rcu **slot);
249 const struct radix_tree_iter *iter, unsigned int tag);
264 struct radix_tree_iter *iter, gfp_t gfp,
281 radix_tree_iter_init(struct radix_tree_iter *iter, unsigned long start) in radix_tree_iter_init() argument
291 iter->index = 0; in radix_tree_iter_init()
292 iter->next_index = start; in radix_tree_iter_init()
310 struct radix_tree_iter *iter, unsigned flags);
324 struct radix_tree_iter *iter, unsigned long index) in radix_tree_iter_lookup() argument
326 radix_tree_iter_init(iter, index); in radix_tree_iter_lookup()
327 return radix_tree_next_chunk(root, iter, RADIX_TREE_ITER_CONTIG); in radix_tree_iter_lookup()
340 void __rcu **radix_tree_iter_retry(struct radix_tree_iter *iter) in radix_tree_iter_retry() argument
342 iter->next_index = iter->index; in radix_tree_iter_retry()
343 iter->tags = 0; in radix_tree_iter_retry()
348 __radix_tree_iter_add(struct radix_tree_iter *iter, unsigned long slots) in __radix_tree_iter_add() argument
350 return iter->index + slots; in __radix_tree_iter_add()
364 struct radix_tree_iter *iter);
373 radix_tree_chunk_size(struct radix_tree_iter *iter) in radix_tree_chunk_size() argument
375 return iter->next_index - iter->index; in radix_tree_chunk_size()
398 struct radix_tree_iter *iter, unsigned flags) in radix_tree_next_slot() argument
401 iter->tags >>= 1; in radix_tree_next_slot()
402 if (unlikely(!iter->tags)) in radix_tree_next_slot()
404 if (likely(iter->tags & 1ul)) { in radix_tree_next_slot()
405 iter->index = __radix_tree_iter_add(iter, 1); in radix_tree_next_slot()
410 unsigned offset = __ffs(iter->tags); in radix_tree_next_slot()
412 iter->tags >>= offset++; in radix_tree_next_slot()
413 iter->index = __radix_tree_iter_add(iter, offset); in radix_tree_next_slot()
418 long count = radix_tree_chunk_size(iter); in radix_tree_next_slot()
422 iter->index = __radix_tree_iter_add(iter, 1); in radix_tree_next_slot()
428 iter->next_index = 0; in radix_tree_next_slot()
449 #define radix_tree_for_each_slot(slot, root, iter, start) \ argument
450 for (slot = radix_tree_iter_init(iter, start) ; \
451 slot || (slot = radix_tree_next_chunk(root, iter, 0)) ; \
452 slot = radix_tree_next_slot(slot, iter, 0))
465 #define radix_tree_for_each_tagged(slot, root, iter, start, tag) \ argument
466 for (slot = radix_tree_iter_init(iter, start) ; \
467 slot || (slot = radix_tree_next_chunk(root, iter, \
469 slot = radix_tree_next_slot(slot, iter, \