Lines Matching full:slot
35 * The bottom two bits of the slot determine how the remaining bits in the
36 * slot are interpreted:
43 * sibling entry, or an indicator that the entry in this slot has been moved
92 * @index: index of current slot
95 * @node: node that contains current slot
99 * described by a pointer to its first slot and a struct radix_tree_iter
163 * radix_tree_deref_slot - dereference a slot
164 * @slot: slot pointer, returned by radix_tree_lookup_slot
167 * locked across slot lookup and dereference. Not required if write lock is
173 * Return: entry stored in that slot.
175 static inline void *radix_tree_deref_slot(void __rcu **slot) in radix_tree_deref_slot() argument
177 return rcu_dereference(*slot); in radix_tree_deref_slot()
181 * radix_tree_deref_slot_protected - dereference a slot with tree lock held
182 * @slot: slot pointer, returned by radix_tree_lookup_slot
187 * Return: entry stored in that slot.
189 static inline void *radix_tree_deref_slot_protected(void __rcu **slot, in radix_tree_deref_slot_protected() argument
192 return rcu_dereference_protected(*slot, lockdep_is_held(treelock)); in radix_tree_deref_slot_protected()
225 void __rcu **slot, void *entry);
227 const struct radix_tree_iter *, void __rcu **slot, void *entry);
229 void __rcu **slot, void *entry);
231 struct radix_tree_iter *iter, void __rcu **slot);
300 * Returns: pointer to chunk first slot, or NULL if there no more left
303 * @iter->next_index. It returns a pointer to the chunk's first slot.
316 * If @index is present in the radix tree, this function returns the slot
333 * against deletion or creation may result in seeing a slot for which
353 * @slot: pointer to current slot
355 * Returns: New slot pointer
361 void __rcu **__must_check radix_tree_iter_resume(void __rcu **slot,
377 * radix_tree_next_slot - find next slot in chunk
379 * @slot: pointer to current slot
382 * Returns: pointer to next slot, or NULL if there no more left
387 * There are several cases where 'slot' can be passed in as NULL to this
390 * 'slot' because either:
395 static __always_inline void __rcu **radix_tree_next_slot(void __rcu **slot, in radix_tree_next_slot() argument
404 slot++; in radix_tree_next_slot()
412 slot += offset; in radix_tree_next_slot()
419 slot++; in radix_tree_next_slot()
422 if (likely(*slot)) in radix_tree_next_slot()
434 return slot; in radix_tree_next_slot()
440 * @slot: the void** variable for pointer to slot
445 * @slot points to radix tree slot, @iter->index contains its index.
447 #define radix_tree_for_each_slot(slot, root, iter, start) \ argument
448 for (slot = radix_tree_iter_init(iter, start) ; \
449 slot || (slot = radix_tree_next_chunk(root, iter, 0)) ; \
450 slot = radix_tree_next_slot(slot, iter, 0))
455 * @slot: the void** variable for pointer to slot
461 * @slot points to radix tree slot, @iter->index contains its index.
463 #define radix_tree_for_each_tagged(slot, root, iter, start, tag) \ argument
464 for (slot = radix_tree_iter_init(iter, start) ; \
465 slot || (slot = radix_tree_next_chunk(root, iter, \
467 slot = radix_tree_next_slot(slot, iter, \