Lines Matching refs:pivots

696 mas_safe_pivot(const struct ma_state *mas, unsigned long *pivots,  in mas_safe_pivot()  argument
702 return pivots[piv]; in mas_safe_pivot()
714 mas_safe_min(struct ma_state *mas, unsigned long *pivots, unsigned char offset) in mas_safe_min() argument
717 return pivots[offset - 1] + 1; in mas_safe_min()
735 mas_logical_pivot(struct ma_state *mas, unsigned long *pivots, in mas_logical_pivot() argument
738 unsigned long lpiv = mas_safe_pivot(mas, pivots, offset, type); in mas_logical_pivot()
1001 unsigned long *pivots; in mas_descend() local
1007 pivots = ma_pivots(node, type); in mas_descend()
1011 mas->min = pivots[mas->offset - 1] + 1; in mas_descend()
1012 mas->max = mas_safe_pivot(mas, pivots, mas->offset, type); in mas_descend()
1052 unsigned long *pivots; in mas_ascend() local
1089 pivots = ma_pivots(a_node, a_type); in mas_ascend()
1094 min = pivots[a_slot - 1] + 1; in mas_ascend()
1099 max = pivots[a_slot]; in mas_ascend()
1391 unsigned long *pivots, in ma_data_end() argument
1400 if (likely(!pivots[offset])) in ma_data_end()
1403 if (likely(pivots[offset] == max)) in ma_data_end()
1423 unsigned long *pivots; in mas_data_end() local
1430 pivots = ma_pivots(node, type); in mas_data_end()
1432 if (likely(!pivots[offset])) in mas_data_end()
1435 if (likely(pivots[offset] == mas->max)) in mas_data_end()
1452 unsigned long *pivots; in mas_leaf_max_gap() local
1481 pivots = ma_pivots(mn, mt); in mas_leaf_max_gap()
1483 max_gap = pivots[0] - mas->min + 1; in mas_leaf_max_gap()
1490 max_piv = ma_data_end(mn, mt, pivots, mas->max) - 1; in mas_leaf_max_gap()
1496 gap = ULONG_MAX - pivots[max_piv]; in mas_leaf_max_gap()
1506 pstart = pivots[i - 1]; in mas_leaf_max_gap()
1507 gap = pivots[i] - pstart; in mas_leaf_max_gap()
1672 unsigned long *pivots = ma_pivots(node, type); in mas_adopt_children() local
1676 offset = ma_data_end(node, type, pivots, mas->max); in mas_adopt_children()
1734 unsigned long *pivots; in mas_new_child() local
1742 pivots = ma_pivots(node, mt); in mas_new_child()
1743 end = ma_data_end(node, mt, pivots, mas->max); in mas_new_child()
1908 unsigned long *pivots, *gaps; in mas_mab_cp() local
1914 pivots = ma_pivots(node, mt); in mas_mab_cp()
1916 b_node->pivot[j] = pivots[i++]; in mas_mab_cp()
1924 b_node->pivot[j] = pivots[i]; in mas_mab_cp()
1933 b_node->pivot[j] = mas_safe_pivot(mas, pivots, i, mt); in mas_mab_cp()
1960 struct maple_node *node, unsigned long *pivots, in mas_leaf_set_meta() argument
1967 if (pivots[end] && pivots[end] < mas->max) in mas_leaf_set_meta()
1989 unsigned long *pivots = ma_pivots(node, mt); in mab_mas_cp() local
1996 if (!pivots[mt_pivots[mt] - 1]) in mab_mas_cp()
2001 pivots[j++] = b_node->pivot[i++]; in mab_mas_cp()
2026 mas_leaf_set_meta(mas, node, pivots, mt, end); in mab_mas_cp()
2148 piv = mas_logical_pivot(mas, wr_mas->pivots, offset_end, wr_mas->type); in mas_store_b_node()
2258 wr_mas->pivots = ma_pivots(wr_mas->node, wr_mas->type); in mas_wr_node_walk()
2260 wr_mas->pivots, mas->max); in mas_wr_node_walk()
2262 min = mas_safe_min(mas, wr_mas->pivots, offset); in mas_wr_node_walk()
2266 max = wr_mas->pivots[offset]; in mas_wr_node_walk()
2276 max = wr_mas->pivots[offset]; in mas_wr_node_walk()
2891 unsigned long *pivots; in mtree_range_walk() local
2909 pivots = ma_pivots(node, type); in mtree_range_walk()
2910 end = ma_data_end(node, type, pivots, max); in mtree_range_walk()
2914 if (pivots[offset] >= mas->index) { in mtree_range_walk()
2917 max = pivots[offset]; in mtree_range_walk()
2923 } while ((offset < end) && (pivots[offset] < mas->index)); in mtree_range_walk()
2926 min = pivots[offset - 1] + 1; in mtree_range_walk()
2928 if (likely(offset < end && pivots[offset])) in mtree_range_walk()
2929 max = pivots[offset]; in mtree_range_walk()
3569 memset(wr_mas->pivots + bn->b_end, 0, sizeof(void *) * clear); in mas_reuse_node()
3624 unsigned long *pivots; in mas_root_expand() local
3632 pivots = ma_pivots(node, type); in mas_root_expand()
3644 pivots[slot++] = mas->index - 1; in mas_root_expand()
3649 pivots[slot] = mas->last; in mas_root_expand()
3806 l_mas->index = l_wr_mas->pivots[l_slot - 2] + 1; in mas_extend_spanning_null()
3820 r_mas->last = mas_safe_pivot(r_mas, r_wr_mas->pivots, in mas_extend_spanning_null()
3851 unsigned long *pivots; in mtree_lookup_walk() local
3866 pivots = ma_pivots(node, type); in mtree_lookup_walk()
3867 end = ma_data_end(node, type, pivots, max); in mtree_lookup_walk()
3871 if (pivots[offset] >= mas->index) in mtree_lookup_walk()
3876 } while ((offset < end) && (pivots[offset] < mas->index)); in mtree_lookup_walk()
3879 max = pivots[offset]; in mtree_lookup_walk()
3911 unsigned long *pivots; in mas_new_root() local
3926 pivots = ma_pivots(node, type); in mas_new_root()
3932 pivots[0] = mas->last; in mas_new_root()
4113 memcpy(dst_pivots, wr_mas->pivots, sizeof(unsigned long) * (offset + 1)); in mas_wr_node_store()
4149 wr_mas->pivots + wr_mas->offset_end, in mas_wr_node_store()
4188 lmax = wr_mas->pivots[offset + 1]; in mas_wr_slot_store()
4201 wr_mas->pivots[offset] = mas->last; in mas_wr_slot_store()
4211 (wr_mas->entry || wr_mas->pivots[offset + 1])) in mas_wr_slot_store()
4212 wr_mas->pivots[offset + 1] = mas->last; in mas_wr_slot_store()
4215 wr_mas->pivots[offset] = mas->index - 1; in mas_wr_slot_store()
4228 wr_mas->end_piv = wr_mas->pivots[++wr_mas->offset_end]; in mas_wr_end_piv()
4249 mas->last = wr_mas->pivots[wr_mas->offset_end]; in mas_wr_extend_null()
4262 mas_safe_min(mas, wr_mas->pivots, mas->offset); in mas_wr_extend_null()
4263 wr_mas->r_max = wr_mas->pivots[mas->offset]; in mas_wr_extend_null()
4277 wr_mas->pivots[new_end] = wr_mas->pivots[end]; in mas_wr_append()
4284 wr_mas->pivots[end] = mas->index - 1; in mas_wr_append()
4291 wr_mas->pivots[new_end] = wr_mas->pivots[end]; in mas_wr_append()
4297 wr_mas->pivots[end] = mas->last; in mas_wr_append()
4477 unsigned long *pivots; in mas_prev_node() local
4499 pivots = ma_pivots(node, mt); in mas_prev_node()
4500 mas->max = pivots[offset]; in mas_prev_node()
4502 mas->min = pivots[offset - 1] + 1; in mas_prev_node()
4519 pivots = ma_pivots(node, mt); in mas_prev_node()
4520 offset = ma_data_end(node, mt, pivots, mas->max); in mas_prev_node()
4522 mas->min = pivots[offset - 1] + 1; in mas_prev_node()
4525 mas->max = pivots[offset]; in mas_prev_node()
4544 mas->min = pivots[offset - 1] + 1; in mas_prev_node()
4565 unsigned long *pivots; in mas_next_node() local
4591 pivots = ma_pivots(node, mt); in mas_next_node()
4592 } while (unlikely(offset == ma_data_end(node, mt, pivots, mas->max))); in mas_next_node()
4595 pivot = mas_safe_pivot(mas, pivots, ++offset, mt); in mas_next_node()
4607 pivots = ma_pivots(node, mt); in mas_next_node()
4609 pivot = pivots[0]; in mas_next_node()
4645 unsigned long *pivots; in mas_next_nentry() local
4654 pivots = ma_pivots(node, type); in mas_next_nentry()
4656 mas->index = mas_safe_min(mas, pivots, mas->offset); in mas_next_nentry()
4663 count = ma_data_end(node, type, pivots, mas->max); in mas_next_nentry()
4668 pivot = pivots[mas->offset]; in mas_next_nentry()
4688 pivot = mas_safe_pivot(mas, pivots, mas->offset, type); in mas_next_nentry()
4795 unsigned long *pivots; in mas_prev_nentry() local
4810 pivots = ma_pivots(mn, mt); in mas_prev_nentry()
4814 pivot = pivots[offset]; in mas_prev_nentry()
4823 pivot = pivots[--offset]; in mas_prev_nentry()
4825 min = mas_safe_min(mas, pivots, offset); in mas_prev_nentry()
4880 unsigned long *pivots, *gaps; in mas_rev_awalk() local
4895 pivots = ma_pivots(node, type); in mas_rev_awalk()
4899 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4902 min = mas_safe_min(mas, pivots, --offset); in mas_rev_awalk()
4904 max = mas_safe_pivot(mas, pivots, offset, type); in mas_rev_awalk()
4923 max = pivots[offset]; in mas_rev_awalk()
4924 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4934 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4969 unsigned long *pivots = ma_pivots(mas_mn(mas), type); in mas_anode_descend() local
4980 min = mas_safe_min(mas, pivots, offset); in mas_anode_descend()
4982 pivot = mas_safe_pivot(mas, pivots, offset, type); in mas_anode_descend()
5090 unsigned long *pivots; in mas_skip_node() local
5111 pivots = ma_pivots(mas_mn(mas), mt); in mas_skip_node()
5113 mas->min = pivots[slot - 1] + 1; in mas_skip_node()
5116 mas->max = pivots[slot]; in mas_skip_node()
5162 unsigned long *pivots; in mas_fill_gap() local
5180 pivots = ma_pivots(mas_mn(mas), ptype); in mas_fill_gap()
5181 mas->max = mas_safe_pivot(mas, pivots, pslot, ptype); in mas_fill_gap()
5182 mas->min = mas_safe_min(mas, pivots, pslot); in mas_fill_gap()
5230 unsigned long *pivots; in mas_empty_area() local
5259 pivots = ma_pivots(mas_mn(mas), mt); in mas_empty_area()
5261 mas->min = pivots[offset - 1] + 1; in mas_empty_area()
5264 mas->max = pivots[offset]; in mas_empty_area()
6596 unsigned long *pivots; in mas_first_entry() local
6609 pivots = ma_pivots(mn, mt); in mas_first_entry()
6610 max = pivots[0]; in mas_first_entry()
6633 pivots = ma_pivots(mn, mt); in mas_first_entry()
6634 mas->index = pivots[0] + 1; in mas_first_entry()
6853 unsigned long *pivots = ma_pivots(mte_to_node(mte), mte_node_type(mte)); in mas_validate_gaps() local
6871 p_end = mas_logical_pivot(mas, pivots, i, mte_node_type(mte)); in mas_validate_gaps()
6967 unsigned long *pivots = ma_pivots(mte_to_node(mas->node), type); in mas_validate_child_slot() local
6976 if (!pivots[i] || pivots[i] == mas->max) in mas_validate_child_slot()
7007 unsigned long *pivots = ma_pivots(mas_mn(mas), type); in mas_validate_limits() local
7016 piv = mas_safe_pivot(mas, pivots, i, type); in mas_validate_limits()
7061 unsigned long piv = pivots[i]; in mas_validate_limits()