Lines Matching refs:l_mas
2851 * Follow the tree upwards from @l_mas and @r_mas for @count, or until the root
2871 MA_STATE(l_mas, mas->tree, mas->index, mas->index);
2879 mast->l = &l_mas;
2882 l_mas.node = r_mas.node = m_mas.node = MAS_NONE;
2889 l_mas.depth = 0;
2917 l_mas.depth++;
2925 l_mas.offset = mast->bn->b_end;
2926 mab_set_b_end(mast->bn, &l_mas, left);
2951 l_mas.node = mt_mk_node(ma_mnode_ptr(mas_pop_node(mas)),
2953 l_mas.depth++;
2954 mab_mas_cp(mast->bn, 0, mt_slots[mast->bn->type] - 1, &l_mas, true);
2955 mas_set_parent(mas, left, l_mas.node, slot);
2957 mas_set_parent(mas, middle, l_mas.node, ++slot);
2960 mas_set_parent(mas, right, l_mas.node, ++slot);
2968 mas_mn(&l_mas)->parent = mas_mn(mast->orig_l)->parent;
2972 mas->depth = l_mas.depth;
2973 mas->node = l_mas.node;
2974 mas->min = l_mas.min;
2975 mas->max = l_mas.max;
2976 mas->offset = l_mas.offset;
2999 MA_STATE(l_mas, mas->tree, mas->index, mas->last);
3017 mast.orig_l = &l_mas;
3022 l_mas = r_mas = *mas;
3028 mas_prev_sibling(&l_mas);
3029 shift = mas_data_end(&l_mas) + 1;
3032 mas_mab_cp(&l_mas, 0, shift - 1, b_node, 0);
3034 l_mas.index = l_mas.last = l_mas.min;
3059 MA_STATE(l_mas, mas->tree, mas->index, mas->last);
3061 l_mas = *mas;
3062 mas_prev_sibling(&l_mas);
3080 left = mas_mn(&l_mas);
3085 tmp = mas_data_end(&l_mas) - split;
3089 pivs[tmp] = l_mas.max;
3093 l_mas.max = l_pivs[split];
3094 mas->min = l_mas.max + 1;
3095 old_eparent = mt_mk_node(mte_parent(l_mas.node),
3096 mas_parent_type(&l_mas, l_mas.node));
3111 mte_set_pivot(old_eparent, mte_parent_slot(l_mas.node),
3124 /* RCU requires replacing both l_mas, mas, and parent. */
3130 mt = mte_node_type(l_mas.node);
3136 l_mas.node = mt_mk_node(new_left, mt);
3140 mt = mas_parent_type(&l_mas, l_mas.node);
3146 rcu_assign_pointer(slots[offset - 1], l_mas.node);
3147 pivs[offset - 1] = l_mas.max;
3152 gap = mas_leaf_max_gap(&l_mas);
3153 mte_set_gap(eparent, mte_parent_slot(l_mas.node), gap);
3372 MA_STATE(l_mas, mas->tree, mas->index, mas->last);
3384 mast.l = &l_mas;
3396 l_mas = r_mas = *mas;
3397 l_mas.node = mas_new_ma_node(mas, b_node);
3428 mas->node = l_mas.node;
3670 struct ma_state *l_mas = l_wr_mas->mas;
3673 l_slot = l_mas->offset;
3675 l_mas->index = l_wr_mas->r_min;
3677 if ((l_mas->index == l_wr_mas->r_min) &&
3679 !mas_slot_locked(l_mas, l_wr_mas->slots, l_slot - 1))) {
3681 l_mas->index = l_wr_mas->pivots[l_slot - 2] + 1;
3683 l_mas->index = l_mas->min;
3685 l_mas->offset = l_slot - 1;
3830 MA_STATE(l_mas, NULL, 0, 0);
3833 MA_WR_STATE(l_wr_mas, &l_mas, wr_mas->entry);
3876 l_mas = *mas;
3881 mas->offset = l_mas.offset;
3882 mas->index = l_mas.index;
3883 mas->last = l_mas.last = r_mas.last;
3887 if (!l_mas.index && r_mas.last == ULONG_MAX) {
3893 /* Copy l_mas and store the value in b_node. */
3903 l_mas.index = l_mas.last = mas->index;
3906 mast.orig_l = &l_mas;
3908 /* Combine l_mas and r_mas and split them up evenly again. */