Lines Matching refs:slots

798 		void __rcu **slots, unsigned char offset)  in mt_slot()  argument
800 return rcu_dereference_check(slots[offset], mt_locked(mt)); in mt_slot()
804 void __rcu **slots, unsigned char offset) in mt_slot_locked() argument
806 return rcu_dereference_protected(slots[offset], mt_write_locked(mt)); in mt_slot_locked()
817 void __rcu **slots, unsigned char offset) in mas_slot_locked() argument
819 return mt_slot_locked(mas->tree, slots, offset); in mas_slot_locked()
830 static __always_inline void *mas_slot(struct ma_state *mas, void __rcu **slots, in mas_slot() argument
833 return mt_slot(mas->tree, slots, offset); in mas_slot()
901 void __rcu **slots; in mt_clear_meta() local
908 slots = mn->mr64.slot; in mt_clear_meta()
909 next = mt_slot_locked(mt, slots, in mt_clear_meta()
1021 void __rcu **slots; in mas_descend() local
1026 slots = ma_slots(node, type); in mas_descend()
1031 mas->node = mas_slot(mas, slots, mas->offset); in mas_descend()
1235 void **slots = NULL; in mas_alloc_nodes() local
1269 slots = (void **)&node->slot[node->node_count]; in mas_alloc_nodes()
1271 count = mt_alloc_bulk(gfp, max_req, slots); in mas_alloc_nodes()
1293 memset(slots, 0, max_req * sizeof(unsigned long)); in mas_alloc_nodes()
1484 void __rcu **slots; in mas_leaf_max_gap() local
1490 slots = ma_slots(mn, mt); in mas_leaf_max_gap()
1495 if (slots[i]) { in mas_leaf_max_gap()
1513 if (likely(!slots[0])) { in mas_leaf_max_gap()
1526 if (unlikely(mas->max == ULONG_MAX) && !slots[max_piv + 1]) { in mas_leaf_max_gap()
1537 if (likely(slots[i])) in mas_leaf_max_gap()
1698 void __rcu **slots = ma_slots(node, type); in mas_adopt_children() local
1705 child = mas_slot_locked(mas, slots, offset); in mas_adopt_children()
1721 void __rcu **slots; in mas_put_in_tree() local
1730 slots = ma_slots(mte_parent(mas->node), in mas_put_in_tree()
1732 rcu_assign_pointer(slots[offset], mas->node); in mas_put_in_tree()
1767 void __rcu **slots; in mas_find_child() local
1771 slots = ma_slots(node, mt); in mas_find_child()
1775 entry = mas_slot_locked(mas, slots, offset); in mas_find_child()
1926 void __rcu **slots; in mas_mab_cp() local
1956 slots = ma_slots(node, mt); in mas_mab_cp()
1957 memcpy(b_node->slot + mab_start, slots + mas_start, sizeof(void *) * j); in mas_mab_cp()
1992 void __rcu **slots = ma_slots(node, mt); in mab_mas_cp() local
2001 slots[mt_pivots[mt]] = NULL; in mab_mas_cp()
2008 memcpy(slots, b_node->slot + mab_start, in mab_mas_cp()
2108 wr_mas->content = mas_slot_locked(mas, wr_mas->slots, in mas_store_b_node()
2753 void __rcu **slots; in mtree_range_walk() local
2786 slots = ma_slots(node, type); in mtree_range_walk()
2787 next = mt_slot(mas->tree, slots, offset); in mtree_range_walk()
3009 void __rcu **l_slots, **slots; in mas_destroy_rebalance() local
3027 slots = ma_slots(newnode, mt); in mas_destroy_rebalance()
3036 memcpy(slots, l_slots + split + 1, sizeof(void *) * tmp); in mas_destroy_rebalance()
3039 memcpy(slots + tmp, ma_slots(node, mt), sizeof(void *) * end); in mas_destroy_rebalance()
3056 memset(slots + tmp, 0, sizeof(void *) * (max_s - tmp)); in mas_destroy_rebalance()
3080 slots = ma_slots(new_left, mt); in mas_destroy_rebalance()
3082 memcpy(slots, l_slots, sizeof(void *) * split); in mas_destroy_rebalance()
3091 slots = ma_slots(parent, mt); in mas_destroy_rebalance()
3094 rcu_assign_pointer(slots[offset], mas->node); in mas_destroy_rebalance()
3095 rcu_assign_pointer(slots[offset - 1], l_mas.node); in mas_destroy_rebalance()
3401 void __rcu **slots; in mas_root_expand() local
3407 slots = ma_slots(node, type); in mas_root_expand()
3414 rcu_assign_pointer(slots[slot], contents); in mas_root_expand()
3421 rcu_assign_pointer(slots[slot], entry); in mas_root_expand()
3502 wr_mas->slots = ma_slots(wr_mas->node, wr_mas->type); in mas_wr_walk_descend()
3530 wr_mas->content = mas_slot_locked(mas, wr_mas->slots, in mas_wr_walk()
3547 wr_mas->content = mas_slot_locked(mas, wr_mas->slots, in mas_wr_walk_index()
3572 !mas_slot_locked(l_mas, l_wr_mas->slots, l_slot - 1))) { in mas_extend_spanning_null()
3587 !mas_slot_locked(r_mas, r_wr_mas->slots, r_mas->offset + 1)) { in mas_extend_spanning_null()
3624 void __rcu **slots; in mtree_lookup_walk() local
3639 slots = ma_slots(node, type); in mtree_lookup_walk()
3640 next = mt_slot(mas->tree, slots, offset); in mtree_lookup_walk()
3666 void __rcu **slots; in mas_new_root() local
3681 slots = ma_slots(node, type); in mas_new_root()
3685 rcu_assign_pointer(slots[0], entry); in mas_new_root()
3826 memcpy(dst_slots, wr_mas->slots, sizeof(void *) * mas->offset); in mas_wr_node_store()
3849 memcpy(dst_slots + dst_offset, wr_mas->slots + offset_end, in mas_wr_node_store()
3881 void __rcu **slots = wr_mas->slots; in mas_wr_slot_store() local
3884 gap |= !mt_slot_locked(mas->tree, slots, offset); in mas_wr_slot_store()
3885 gap |= !mt_slot_locked(mas->tree, slots, offset + 1); in mas_wr_slot_store()
3890 rcu_assign_pointer(slots[offset], wr_mas->entry); in mas_wr_slot_store()
3894 rcu_assign_pointer(slots[offset + 1], wr_mas->entry); in mas_wr_slot_store()
3904 gap |= !mt_slot_locked(mas->tree, slots, offset + 2); in mas_wr_slot_store()
3905 rcu_assign_pointer(slots[offset + 1], wr_mas->entry); in mas_wr_slot_store()
3926 if (!wr_mas->slots[wr_mas->offset_end]) { in mas_wr_extend_null()
3933 !wr_mas->slots[wr_mas->offset_end + 1]) { in mas_wr_extend_null()
3949 !wr_mas->slots[mas->offset - 1]) { in mas_wr_extend_null()
3998 void __rcu **slots; in mas_wr_append() local
4006 slots = wr_mas->slots; in mas_wr_append()
4010 rcu_assign_pointer(slots[new_end], wr_mas->entry); in mas_wr_append()
4015 rcu_assign_pointer(slots[new_end], wr_mas->content); in mas_wr_append()
4017 rcu_assign_pointer(slots[end], wr_mas->entry); in mas_wr_append()
4021 rcu_assign_pointer(slots[new_end], wr_mas->content); in mas_wr_append()
4023 rcu_assign_pointer(slots[end + 1], wr_mas->entry); in mas_wr_append()
4072 rcu_assign_pointer(wr_mas->slots[mas->offset], wr_mas->entry); in mas_wr_store_entry()
4400 void __rcu **slots; in mas_prev_node() local
4430 slots = ma_slots(node, mt); in mas_prev_node()
4431 mas->node = mas_slot(mas, slots, offset); in mas_prev_node()
4443 slots = ma_slots(node, mt); in mas_prev_node()
4444 mas->node = mas_slot(mas, slots, offset); in mas_prev_node()
4479 void __rcu **slots; in mas_prev_slot() local
4527 slots = ma_slots(node, type); in mas_prev_slot()
4528 entry = mas_slot(mas, slots, mas->offset); in mas_prev_slot()
4572 void __rcu **slots; in mas_next_node() local
4597 slots = ma_slots(node, mt); in mas_next_node()
4599 enode = mas_slot(mas, slots, mas->offset); in mas_next_node()
4611 slots = ma_slots(node, mt); in mas_next_node()
4612 enode = mas_slot(mas, slots, 0); in mas_next_node()
4651 void __rcu **slots; in mas_next_slot() local
4711 slots = ma_slots(node, type); in mas_next_slot()
4712 entry = mt_slot(mas->tree, slots, mas->offset); in mas_next_slot()
4748 void __rcu **slots; in mas_rev_awalk() local
4763 slots = ma_slots(node, type); in mas_rev_awalk()
4776 else if (!mas_slot(mas, slots, offset)) in mas_rev_awalk()
4814 mas->node = mas_slot(mas, slots, offset); in mas_rev_awalk()
4835 void __rcu **slots; in mas_anode_descend() local
4846 slots = ma_slots(node, type); in mas_anode_descend()
4860 else if (!mas_slot(mas, slots, offset)) in mas_anode_descend()
4871 mas->node = mas_slot(mas, slots, offset); in mas_anode_descend()
5159 void __rcu **slots) in mte_dead_leaves() argument
5167 entry = mt_slot(mt, slots, offset); in mte_dead_leaves()
5176 rcu_assign_pointer(slots[offset], node); in mte_dead_leaves()
5192 void __rcu **slots = NULL; in mte_dead_walk() local
5198 slots = ma_slots(node, node->type); in mte_dead_walk()
5199 next = rcu_dereference_protected(slots[offset], in mte_dead_walk()
5204 return slots; in mte_dead_walk()
5215 void __rcu **slots; in mt_free_walk() local
5228 slots = mte_dead_walk(&enode, 0); in mt_free_walk()
5231 mt_free_bulk(node->slot_len, slots); in mt_free_walk()
5238 slots = ma_slots(mte_to_node(enode), type); in mt_free_walk()
5240 rcu_dereference_protected(slots[offset], in mt_free_walk()
5242 slots = mte_dead_walk(&enode, offset); in mt_free_walk()
5246 slots = ma_slots(node, node->type); in mt_free_walk()
5247 mt_free_bulk(node->slot_len, slots); in mt_free_walk()
5258 void __rcu **slots = NULL; in mte_destroy_descend() local
5266 slots = ma_slots(node, type); in mte_destroy_descend()
5267 next = mt_slot_locked(mt, slots, next_offset); in mte_destroy_descend()
5269 next = mt_slot_locked(mt, slots, ++next_offset); in mte_destroy_descend()
5280 return slots; in mte_destroy_descend()
5286 void __rcu **slots; in mt_destroy_walk() local
5296 slots = mte_destroy_descend(&enode, mt, start, 0); in mt_destroy_walk()
5303 node->slot_len = mte_dead_leaves(enode, mt, slots); in mt_destroy_walk()
5305 mt_free_bulk(node->slot_len, slots); in mt_destroy_walk()
5312 slots = ma_slots(mte_to_node(enode), type); in mt_destroy_walk()
5316 tmp = mt_slot_locked(mt, slots, offset); in mt_destroy_walk()
5320 slots = mte_destroy_descend(&enode, mt, parent, offset); in mt_destroy_walk()
5327 node->slot_len = mte_dead_leaves(enode, mt, slots); in mt_destroy_walk()
5329 mt_free_bulk(node->slot_len, slots); in mt_destroy_walk()
5469 wr_mas.content = mas_slot_locked(mas, wr_mas.slots, mas->offset); in mas_store_prealloc()
6563 void __rcu **slots; in mas_dup_free() local
6584 slots = ma_slots(node, type); in mas_dup_free()
6587 ((unsigned long *)slots)[i] &= ~MAPLE_NODE_MASK; in mas_dup_free()
6588 mt_free_bulk(count, slots); in mas_dup_free()
6634 void __rcu **slots; in mas_dup_alloc() local
6650 slots = ma_slots(node, type); in mas_dup_alloc()
6652 val = (unsigned long)mt_slot_locked(mas->tree, slots, i); in mas_dup_alloc()
7355 void __rcu **slots; in mas_validate_parent_slot() local
7364 slots = ma_slots(parent, p_type); in mas_validate_parent_slot()
7370 node = mas_slot(mas, slots, i); in mas_validate_parent_slot()
7387 void __rcu **slots = ma_slots(mte_to_node(mas->node), type); in mas_validate_child_slot() local
7396 child = mas_slot(mas, slots, i); in mas_validate_child_slot()
7433 void __rcu **slots = ma_slots(mte_to_node(mas->node), type); in mas_validate_limits() local
7475 void *entry = mas_slot(mas, slots, i); in mas_validate_limits()
7500 void __rcu **slots; in mt_validate_nulls() local
7510 slots = ma_slots(mte_to_node(mas.node), mte_node_type(mas.node)); in mt_validate_nulls()
7512 entry = mas_slot(&mas, slots, offset); in mt_validate_nulls()
7524 slots = ma_slots(mte_to_node(mas.node), in mt_validate_nulls()