Lines Matching refs:pivots
710 mas_safe_pivot(const struct ma_state *mas, unsigned long *pivots, in mas_safe_pivot() argument
716 return pivots[piv]; in mas_safe_pivot()
728 mas_safe_min(struct ma_state *mas, unsigned long *pivots, unsigned char offset) in mas_safe_min() argument
731 return pivots[offset - 1] + 1; in mas_safe_min()
900 unsigned long *pivots; in mt_clear_meta() local
906 pivots = mn->mr64.pivot; in mt_clear_meta()
907 if (unlikely(pivots[MAPLE_RANGE64_SLOTS - 2])) { in mt_clear_meta()
1019 unsigned long *pivots; in mas_descend() local
1025 pivots = ma_pivots(node, type); in mas_descend()
1029 mas->min = pivots[mas->offset - 1] + 1; in mas_descend()
1030 mas->max = mas_safe_pivot(mas, pivots, mas->offset, type); in mas_descend()
1070 unsigned long *pivots; in mas_ascend() local
1115 pivots = ma_pivots(a_node, a_type); in mas_ascend()
1122 min = pivots[a_slot - 1] + 1; in mas_ascend()
1127 max = pivots[a_slot]; in mas_ascend()
1417 enum maple_type type, unsigned long *pivots, unsigned long max) in ma_data_end() argument
1421 if (!pivots) in ma_data_end()
1428 if (likely(!pivots[offset])) in ma_data_end()
1431 if (likely(pivots[offset] == max)) in ma_data_end()
1451 unsigned long *pivots; in mas_data_end() local
1458 pivots = ma_pivots(node, type); in mas_data_end()
1463 if (likely(!pivots[offset])) in mas_data_end()
1466 if (likely(pivots[offset] == mas->max)) in mas_data_end()
1483 unsigned long *pivots; in mas_leaf_max_gap() local
1512 pivots = ma_pivots(mn, mt); in mas_leaf_max_gap()
1514 max_gap = pivots[0] - mas->min + 1; in mas_leaf_max_gap()
1521 max_piv = ma_data_end(mn, mt, pivots, mas->max) - 1; in mas_leaf_max_gap()
1527 gap = ULONG_MAX - pivots[max_piv]; in mas_leaf_max_gap()
1531 if (max_gap > pivots[max_piv] - mas->min) in mas_leaf_max_gap()
1540 pstart = pivots[i - 1]; in mas_leaf_max_gap()
1541 gap = pivots[i] - pstart; in mas_leaf_max_gap()
1699 unsigned long *pivots = ma_pivots(node, type); in mas_adopt_children() local
1703 offset = ma_data_end(node, type, pivots, mas->max); in mas_adopt_children()
1764 unsigned long *pivots; in mas_find_child() local
1772 pivots = ma_pivots(node, mt); in mas_find_child()
1773 end = ma_data_end(node, mt, pivots, mas->max); in mas_find_child()
1927 unsigned long *pivots, *gaps; in mas_mab_cp() local
1933 pivots = ma_pivots(node, mt); in mas_mab_cp()
1935 b_node->pivot[j] = pivots[i++]; in mas_mab_cp()
1943 b_node->pivot[j] = pivots[i]; in mas_mab_cp()
1951 b_node->pivot[j] = mas_safe_pivot(mas, pivots, i, mt); in mas_mab_cp()
1993 unsigned long *pivots = ma_pivots(node, mt); in mab_mas_cp() local
2000 if (!pivots[mt_pivots[mt] - 1]) in mab_mas_cp()
2005 pivots[j++] = b_node->pivot[i++]; in mab_mas_cp()
2102 piv = mas_safe_pivot(mas, wr_mas->pivots, offset_end, wr_mas->type); in mas_store_b_node()
2213 wr_mas->pivots = ma_pivots(wr_mas->node, wr_mas->type); in mas_wr_node_walk()
2215 wr_mas->pivots, mas->max); in mas_wr_node_walk()
2218 while (offset < count && mas->index > wr_mas->pivots[offset]) in mas_wr_node_walk()
2221 wr_mas->r_max = offset < count ? wr_mas->pivots[offset] : mas->max; in mas_wr_node_walk()
2222 wr_mas->r_min = mas_safe_min(mas, wr_mas->pivots, offset); in mas_wr_node_walk()
2748 unsigned long *pivots; in mtree_range_walk() local
2765 pivots = ma_pivots(node, type); in mtree_range_walk()
2766 end = ma_data_end(node, type, pivots, max); in mtree_range_walk()
2769 if (pivots[0] >= mas->index) { in mtree_range_walk()
2771 max = pivots[0]; in mtree_range_walk()
2777 if (pivots[offset] >= mas->index) { in mtree_range_walk()
2778 max = pivots[offset]; in mtree_range_walk()
2784 min = pivots[offset - 1] + 1; in mtree_range_walk()
3402 unsigned long *pivots; in mas_root_expand() local
3406 pivots = ma_pivots(node, type); in mas_root_expand()
3418 pivots[slot++] = mas->index - 1; in mas_root_expand()
3423 pivots[slot] = mas->last; in mas_root_expand()
3425 pivots[++slot] = ULONG_MAX; in mas_root_expand()
3574 l_mas->index = l_wr_mas->pivots[l_slot - 2] + 1; in mas_extend_spanning_null()
3588 r_mas->last = mas_safe_pivot(r_mas, r_wr_mas->pivots, in mas_extend_spanning_null()
3619 unsigned long *pivots; in mtree_lookup_walk() local
3631 pivots = ma_pivots(node, type); in mtree_lookup_walk()
3635 if (pivots[offset] >= mas->index) in mtree_lookup_walk()
3667 unsigned long *pivots; in mas_new_root() local
3680 pivots = ma_pivots(node, type); in mas_new_root()
3686 pivots[0] = mas->last; in mas_new_root()
3825 memcpy(dst_pivots, wr_mas->pivots, sizeof(unsigned long) * mas->offset); in mas_wr_node_store()
3851 memcpy(dst_pivots + dst_offset, wr_mas->pivots + offset_end, in mas_wr_node_store()
3891 wr_mas->pivots[offset] = mas->last; in mas_wr_slot_store()
3895 wr_mas->pivots[offset] = mas->index - 1; in mas_wr_slot_store()
3906 wr_mas->pivots[offset] = mas->index - 1; in mas_wr_slot_store()
3907 wr_mas->pivots[offset + 1] = mas->last; in mas_wr_slot_store()
3938 mas->last = wr_mas->pivots[wr_mas->offset_end]; in mas_wr_extend_null()
3952 mas_safe_min(mas, wr_mas->pivots, mas->offset); in mas_wr_extend_null()
3953 wr_mas->r_max = wr_mas->pivots[mas->offset]; in mas_wr_extend_null()
3961 (wr_mas->mas->last > wr_mas->pivots[wr_mas->offset_end])) in mas_wr_end_piv()
3965 wr_mas->end_piv = wr_mas->pivots[wr_mas->offset_end]; in mas_wr_end_piv()
4002 wr_mas->pivots[new_end] = wr_mas->pivots[end]; in mas_wr_append()
4011 wr_mas->pivots[end] = mas->index - 1; in mas_wr_append()
4016 wr_mas->pivots[end] = mas->last; in mas_wr_append()
4022 wr_mas->pivots[end + 1] = mas->last; in mas_wr_append()
4024 wr_mas->pivots[end] = mas->index - 1; in mas_wr_append()
4402 unsigned long *pivots; in mas_prev_node() local
4437 pivots = ma_pivots(node, mt); in mas_prev_node()
4438 offset = ma_data_end(node, mt, pivots, max); in mas_prev_node()
4445 pivots = ma_pivots(node, mt); in mas_prev_node()
4450 mas->min = pivots[offset - 1] + 1; in mas_prev_node()
4482 unsigned long *pivots; in mas_prev_slot() local
4489 pivots = ma_pivots(node, type); in mas_prev_slot()
4494 pivot = mas_safe_min(mas, pivots, mas->offset); in mas_prev_slot()
4507 mas->index = mas_safe_min(mas, pivots, mas->offset); in mas_prev_slot()
4523 pivots = ma_pivots(node, type); in mas_prev_slot()
4524 mas->index = pivots[mas->offset - 1] + 1; in mas_prev_slot()
4566 unsigned long *pivots; in mas_next_node() local
4590 pivots = ma_pivots(node, mt); in mas_next_node()
4591 node_end = ma_data_end(node, mt, pivots, mas->max); in mas_next_node()
4618 pivots = ma_pivots(node, mt); in mas_next_node()
4620 mas->max = mas_safe_pivot(mas, pivots, mas->offset, mt); in mas_next_node()
4623 pivots = ma_pivots(tmp, mt); in mas_next_node()
4624 mas->end = ma_data_end(tmp, mt, pivots, mas->max); in mas_next_node()
4652 unsigned long *pivots; in mas_next_slot() local
4662 pivots = ma_pivots(node, type); in mas_next_slot()
4668 pivot = pivots[mas->offset]; in mas_next_slot()
4682 mas->index = pivots[mas->offset] + 1; in mas_next_slot()
4686 mas->last = pivots[mas->offset]; in mas_next_slot()
4707 pivots = ma_pivots(node, type); in mas_next_slot()
4708 mas->last = pivots[0]; in mas_next_slot()
4747 unsigned long *pivots, *gaps; in mas_rev_awalk() local
4762 pivots = ma_pivots(node, type); in mas_rev_awalk()
4766 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4769 min = mas_safe_min(mas, pivots, --offset); in mas_rev_awalk()
4771 max = mas_safe_pivot(mas, pivots, offset, type); in mas_rev_awalk()
4789 max = pivots[offset]; in mas_rev_awalk()
4790 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4800 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4834 unsigned long *gaps, *pivots; in mas_anode_descend() local
4845 pivots = ma_pivots(node, type); in mas_anode_descend()
4849 min = mas_safe_min(mas, pivots, offset); in mas_anode_descend()
4850 data_end = ma_data_end(node, type, pivots, mas->max); in mas_anode_descend()
4852 pivot = mas_safe_pivot(mas, pivots, offset, type); in mas_anode_descend()
5044 unsigned long *pivots; in mas_empty_area() local
5076 pivots = ma_pivots(node, mt); in mas_empty_area()
5077 min = mas_safe_min(mas, pivots, offset); in mas_empty_area()
5081 mas->end = ma_data_end(node, mt, pivots, mas->max); in mas_empty_area()
7267 unsigned long *pivots = ma_pivots(node, mt); in mas_validate_gaps() local
7285 p_end = mas_safe_pivot(mas, pivots, i, mt); in mas_validate_gaps()
7388 unsigned long *pivots = ma_pivots(mte_to_node(mas->node), type); in mas_validate_child_slot() local
7418 if (i < mt_pivots[type] && pivots[i] == mas->max) in mas_validate_child_slot()
7434 unsigned long *pivots = ma_pivots(mas_mn(mas), type); in mas_validate_limits() local
7439 piv = mas_safe_pivot(mas, pivots, i, type); in mas_validate_limits()
7484 unsigned long piv = pivots[i]; in mas_validate_limits()