Lines Matching full:slot

25  * The bottom two bits of the slot determine how the remaining bits in the
26 * slot are interpreted:
33 * sibling entry, or an indicator that the entry in this slot has been moved
82 * @index: index of current slot
85 * @node: node that contains current slot
89 * described by a pointer to its first slot and a struct radix_tree_iter
153 * radix_tree_deref_slot - dereference a slot
154 * @slot: slot pointer, returned by radix_tree_lookup_slot
157 * locked across slot lookup and dereference. Not required if write lock is
163 * Return: entry stored in that slot.
165 static inline void *radix_tree_deref_slot(void __rcu **slot) in radix_tree_deref_slot() argument
167 return rcu_dereference(*slot); in radix_tree_deref_slot()
171 * radix_tree_deref_slot_protected - dereference a slot with tree lock held
172 * @slot: slot pointer, returned by radix_tree_lookup_slot
177 * Return: entry stored in that slot.
179 static inline void *radix_tree_deref_slot_protected(void __rcu **slot, in radix_tree_deref_slot_protected() argument
182 return rcu_dereference_protected(*slot, lockdep_is_held(treelock)); in radix_tree_deref_slot_protected()
215 void __rcu **slot, void *entry);
217 const struct radix_tree_iter *, void __rcu **slot, void *entry);
219 void __rcu **slot, void *entry);
221 struct radix_tree_iter *iter, void __rcu **slot);
290 * Returns: pointer to chunk first slot, or NULL if there no more left
293 * @iter->next_index. It returns a pointer to the chunk's first slot.
306 * If @index is present in the radix tree, this function returns the slot
323 * against deletion or creation may result in seeing a slot for which
343 * @slot: pointer to current slot
345 * Returns: New slot pointer
351 void __rcu **__must_check radix_tree_iter_resume(void __rcu **slot,
367 * radix_tree_next_slot - find next slot in chunk
369 * @slot: pointer to current slot
372 * Returns: pointer to next slot, or NULL if there no more left
377 * There are several cases where 'slot' can be passed in as NULL to this
380 * 'slot' because either:
385 static __always_inline void __rcu **radix_tree_next_slot(void __rcu **slot, in radix_tree_next_slot() argument
394 slot++; in radix_tree_next_slot()
402 slot += offset; in radix_tree_next_slot()
409 slot++; in radix_tree_next_slot()
412 if (likely(*slot)) in radix_tree_next_slot()
424 return slot; in radix_tree_next_slot()
430 * @slot: the void** variable for pointer to slot
435 * @slot points to radix tree slot, @iter->index contains its index.
437 #define radix_tree_for_each_slot(slot, root, iter, start) \ argument
438 for (slot = radix_tree_iter_init(iter, start) ; \
439 slot || (slot = radix_tree_next_chunk(root, iter, 0)) ; \
440 slot = radix_tree_next_slot(slot, iter, 0))
445 * @slot: the void** variable for pointer to slot
451 * @slot points to radix tree slot, @iter->index contains its index.
453 #define radix_tree_for_each_tagged(slot, root, iter, start, tag) \ argument
454 for (slot = radix_tree_iter_init(iter, start) ; \
455 slot || (slot = radix_tree_next_chunk(root, iter, \
457 slot = radix_tree_next_slot(slot, iter, \