Lines Matching refs:slot

329 	struct radix_tree_node *slot;  in radix_tree_extend()  local
360 slot = root->rnode; in radix_tree_extend()
362 slot = indirect_to_ptr(slot); in radix_tree_extend()
363 slot->parent = node; in radix_tree_extend()
365 node->slots[0] = slot; in radix_tree_extend()
393 struct radix_tree_node *node = NULL, *slot; in __radix_tree_create() local
404 slot = indirect_to_ptr(root->rnode); in __radix_tree_create()
411 if (slot == NULL) { in __radix_tree_create()
413 if (!(slot = radix_tree_node_alloc(root))) in __radix_tree_create()
415 slot->path = height; in __radix_tree_create()
416 slot->parent = node; in __radix_tree_create()
418 rcu_assign_pointer(node->slots[offset], slot); in __radix_tree_create()
420 slot->path |= offset << RADIX_TREE_HEIGHT_SHIFT; in __radix_tree_create()
422 rcu_assign_pointer(root->rnode, ptr_to_indirect(slot)); in __radix_tree_create()
427 node = slot; in __radix_tree_create()
428 slot = node->slots[offset]; in __radix_tree_create()
452 void **slot; in radix_tree_insert() local
457 error = __radix_tree_create(root, index, &node, &slot); in radix_tree_insert()
460 if (*slot != NULL) in radix_tree_insert()
462 rcu_assign_pointer(*slot, item); in radix_tree_insert()
496 void **slot; in __radix_tree_lookup() local
522 slot = node->slots + ((index >> shift) & RADIX_TREE_MAP_MASK); in __radix_tree_lookup()
523 node = rcu_dereference_raw(*slot); in __radix_tree_lookup()
534 *slotp = slot; in __radix_tree_lookup()
553 void **slot; in radix_tree_lookup_slot() local
555 if (!__radix_tree_lookup(root, index, NULL, &slot)) in radix_tree_lookup_slot()
557 return slot; in radix_tree_lookup_slot()
596 struct radix_tree_node *slot; in radix_tree_tag_set() local
601 slot = indirect_to_ptr(root->rnode); in radix_tree_tag_set()
608 if (!tag_get(slot, tag, offset)) in radix_tree_tag_set()
609 tag_set(slot, tag, offset); in radix_tree_tag_set()
610 slot = slot->slots[offset]; in radix_tree_tag_set()
611 BUG_ON(slot == NULL); in radix_tree_tag_set()
617 if (slot && !root_tag_get(root, tag)) in radix_tree_tag_set()
620 return slot; in radix_tree_tag_set()
642 struct radix_tree_node *slot = NULL; in radix_tree_tag_clear() local
651 slot = indirect_to_ptr(root->rnode); in radix_tree_tag_clear()
654 if (slot == NULL) in radix_tree_tag_clear()
659 node = slot; in radix_tree_tag_clear()
660 slot = slot->slots[offset]; in radix_tree_tag_clear()
663 if (slot == NULL) in radix_tree_tag_clear()
683 return slot; in radix_tree_tag_clear()
895 struct radix_tree_node *slot; in radix_tree_range_tag_if_tagged() local
916 slot = indirect_to_ptr(root->rnode); in radix_tree_range_tag_if_tagged()
923 if (!slot->slots[offset]) in radix_tree_range_tag_if_tagged()
925 if (!tag_get(slot, iftag, offset)) in radix_tree_range_tag_if_tagged()
930 node = slot; in radix_tree_range_tag_if_tagged()
931 slot = slot->slots[offset]; in radix_tree_range_tag_if_tagged()
937 tag_set(slot, settag, offset); in radix_tree_range_tag_if_tagged()
975 slot = slot->parent; in radix_tree_range_tag_if_tagged()
1015 void **slot; in radix_tree_gang_lookup() local
1021 radix_tree_for_each_slot(slot, root, &iter, first_index) { in radix_tree_gang_lookup()
1022 results[ret] = rcu_dereference_raw(*slot); in radix_tree_gang_lookup()
1026 slot = radix_tree_iter_retry(&iter); in radix_tree_gang_lookup()
1061 void **slot; in radix_tree_gang_lookup_slot() local
1067 radix_tree_for_each_slot(slot, root, &iter, first_index) { in radix_tree_gang_lookup_slot()
1068 results[ret] = slot; in radix_tree_gang_lookup_slot()
1098 void **slot; in radix_tree_gang_lookup_tag() local
1104 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag()
1105 results[ret] = rcu_dereference_raw(*slot); in radix_tree_gang_lookup_tag()
1109 slot = radix_tree_iter_retry(&iter); in radix_tree_gang_lookup_tag()
1139 void **slot; in radix_tree_gang_lookup_tag_slot() local
1145 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag_slot()
1146 results[ret] = slot; in radix_tree_gang_lookup_tag_slot()
1161 static unsigned long __locate(struct radix_tree_node *slot, void *item, in __locate() argument
1167 height = slot->path & RADIX_TREE_HEIGHT_MASK; in __locate()
1173 if (slot->slots[i] != NULL) in __locate()
1185 slot = rcu_dereference_raw(slot->slots[i]); in __locate()
1186 if (slot == NULL) in __locate()
1192 if (slot->slots[i] == item) { in __locate()
1260 struct radix_tree_node *slot; in radix_tree_shrink() local
1281 slot = to_free->slots[0]; in radix_tree_shrink()
1283 slot->parent = NULL; in radix_tree_shrink()
1284 slot = ptr_to_indirect(slot); in radix_tree_shrink()
1286 root->rnode = slot; in radix_tree_shrink()
1381 void **slot; in radix_tree_delete_item() local
1385 entry = __radix_tree_lookup(root, index, &node, &slot); in radix_tree_delete_item()