Lines Matching refs:pivots
722 mas_safe_pivot(const struct ma_state *mas, unsigned long *pivots, in mas_safe_pivot() argument
728 return pivots[piv]; in mas_safe_pivot()
740 mas_safe_min(struct ma_state *mas, unsigned long *pivots, unsigned char offset) in mas_safe_min() argument
743 return pivots[offset - 1] + 1; in mas_safe_min()
914 unsigned long *pivots; in mt_clear_meta() local
920 pivots = mn->mr64.pivot; in mt_clear_meta()
921 if (unlikely(pivots[MAPLE_RANGE64_SLOTS - 2])) { in mt_clear_meta()
1035 unsigned long *pivots; in mas_descend() local
1041 pivots = ma_pivots(node, type); in mas_descend()
1045 mas->min = pivots[mas->offset - 1] + 1; in mas_descend()
1046 mas->max = mas_safe_pivot(mas, pivots, mas->offset, type); in mas_descend()
1086 unsigned long *pivots; in mas_ascend() local
1129 pivots = ma_pivots(a_node, a_type); in mas_ascend()
1136 min = pivots[a_slot - 1] + 1; in mas_ascend()
1141 max = pivots[a_slot]; in mas_ascend()
1430 unsigned long *pivots, in ma_data_end() argument
1435 if (!pivots) in ma_data_end()
1442 if (likely(!pivots[offset])) in ma_data_end()
1445 if (likely(pivots[offset] == max)) in ma_data_end()
1465 unsigned long *pivots; in mas_data_end() local
1472 pivots = ma_pivots(node, type); in mas_data_end()
1477 if (likely(!pivots[offset])) in mas_data_end()
1480 if (likely(pivots[offset] == mas->max)) in mas_data_end()
1497 unsigned long *pivots; in mas_leaf_max_gap() local
1526 pivots = ma_pivots(mn, mt); in mas_leaf_max_gap()
1528 max_gap = pivots[0] - mas->min + 1; in mas_leaf_max_gap()
1535 max_piv = ma_data_end(mn, mt, pivots, mas->max) - 1; in mas_leaf_max_gap()
1541 gap = ULONG_MAX - pivots[max_piv]; in mas_leaf_max_gap()
1551 pstart = pivots[i - 1]; in mas_leaf_max_gap()
1552 gap = pivots[i] - pstart; in mas_leaf_max_gap()
1710 unsigned long *pivots = ma_pivots(node, type); in mas_adopt_children() local
1714 offset = ma_data_end(node, type, pivots, mas->max); in mas_adopt_children()
1775 unsigned long *pivots; in mas_find_child() local
1783 pivots = ma_pivots(node, mt); in mas_find_child()
1784 end = ma_data_end(node, mt, pivots, mas->max); in mas_find_child()
1949 unsigned long *pivots, *gaps; in mas_mab_cp() local
1955 pivots = ma_pivots(node, mt); in mas_mab_cp()
1957 b_node->pivot[j] = pivots[i++]; in mas_mab_cp()
1965 b_node->pivot[j] = pivots[i]; in mas_mab_cp()
1974 b_node->pivot[j] = mas_safe_pivot(mas, pivots, i, mt); in mas_mab_cp()
2001 struct maple_node *node, unsigned long *pivots, in mas_leaf_set_meta() argument
2008 if (pivots[end] && pivots[end] < mas->max) in mas_leaf_set_meta()
2030 unsigned long *pivots = ma_pivots(node, mt); in mab_mas_cp() local
2037 if (!pivots[mt_pivots[mt] - 1]) in mab_mas_cp()
2042 pivots[j++] = b_node->pivot[i++]; in mab_mas_cp()
2067 mas_leaf_set_meta(mas, node, pivots, mt, end); in mab_mas_cp()
2139 piv = mas_safe_pivot(mas, wr_mas->pivots, offset_end, wr_mas->type); in mas_store_b_node()
2247 wr_mas->pivots = ma_pivots(wr_mas->node, wr_mas->type); in mas_wr_node_walk()
2249 wr_mas->pivots, mas->max); in mas_wr_node_walk()
2252 while (offset < count && mas->index > wr_mas->pivots[offset]) in mas_wr_node_walk()
2255 wr_mas->r_max = offset < count ? wr_mas->pivots[offset] : mas->max; in mas_wr_node_walk()
2256 wr_mas->r_min = mas_safe_min(mas, wr_mas->pivots, offset); in mas_wr_node_walk()
2785 unsigned long *pivots; in mtree_range_walk() local
2803 pivots = ma_pivots(node, type); in mtree_range_walk()
2804 end = ma_data_end(node, type, pivots, max); in mtree_range_walk()
2808 if (pivots[offset] >= mas->index) { in mtree_range_walk()
2811 max = pivots[offset]; in mtree_range_walk()
2817 } while ((offset < end) && (pivots[offset] < mas->index)); in mtree_range_walk()
2820 min = pivots[offset - 1] + 1; in mtree_range_walk()
2822 if (likely(offset < end && pivots[offset])) in mtree_range_walk()
2823 max = pivots[offset]; in mtree_range_walk()
3455 memset(wr_mas->pivots + bn->b_end, 0, sizeof(void *) * clear); in mas_reuse_node()
3512 unsigned long *pivots; in mas_root_expand() local
3520 pivots = ma_pivots(node, type); in mas_root_expand()
3531 pivots[slot++] = mas->index - 1; in mas_root_expand()
3536 pivots[slot] = mas->last; in mas_root_expand()
3538 pivots[++slot] = ULONG_MAX; in mas_root_expand()
3681 l_mas->index = l_wr_mas->pivots[l_slot - 2] + 1; in mas_extend_spanning_null()
3695 r_mas->last = mas_safe_pivot(r_mas, r_wr_mas->pivots, in mas_extend_spanning_null()
3726 unsigned long *pivots; in mtree_lookup_walk() local
3741 pivots = ma_pivots(node, type); in mtree_lookup_walk()
3742 end = ma_data_end(node, type, pivots, max); in mtree_lookup_walk()
3746 if (pivots[offset] >= mas->index) { in mtree_lookup_walk()
3747 max = pivots[offset]; in mtree_lookup_walk()
3782 unsigned long *pivots; in mas_new_root() local
3797 pivots = ma_pivots(node, type); in mas_new_root()
3802 pivots[0] = mas->last; in mas_new_root()
3957 memcpy(dst_pivots, wr_mas->pivots, sizeof(unsigned long) * mas->offset); in mas_wr_node_store()
3983 memcpy(dst_pivots + dst_offset, wr_mas->pivots + offset_end, in mas_wr_node_store()
4024 wr_mas->pivots[offset] = mas->last; in mas_wr_slot_store()
4028 wr_mas->pivots[offset] = mas->index - 1; in mas_wr_slot_store()
4038 wr_mas->pivots[offset] = mas->index - 1; in mas_wr_slot_store()
4039 wr_mas->pivots[offset + 1] = mas->last; in mas_wr_slot_store()
4072 mas->last = wr_mas->pivots[wr_mas->offset_end]; in mas_wr_extend_null()
4086 mas_safe_min(mas, wr_mas->pivots, mas->offset); in mas_wr_extend_null()
4087 wr_mas->r_max = wr_mas->pivots[mas->offset]; in mas_wr_extend_null()
4095 (wr_mas->mas->last > wr_mas->pivots[wr_mas->offset_end])) in mas_wr_end_piv()
4099 wr_mas->end_piv = wr_mas->pivots[wr_mas->offset_end]; in mas_wr_end_piv()
4152 wr_mas->pivots[new_end] = wr_mas->pivots[end]; in mas_wr_append()
4161 wr_mas->pivots[end] = mas->index - 1; in mas_wr_append()
4166 wr_mas->pivots[end] = mas->last; in mas_wr_append()
4172 wr_mas->pivots[end + 1] = mas->last; in mas_wr_append()
4174 wr_mas->pivots[end] = mas->index - 1; in mas_wr_append()
4365 unsigned long *pivots; in mas_prev_node() local
4400 pivots = ma_pivots(node, mt); in mas_prev_node()
4401 offset = ma_data_end(node, mt, pivots, max); in mas_prev_node()
4408 pivots = ma_pivots(node, mt); in mas_prev_node()
4413 mas->min = pivots[offset - 1] + 1; in mas_prev_node()
4446 unsigned long *pivots; in mas_prev_slot() local
4453 pivots = ma_pivots(node, type); in mas_prev_slot()
4458 pivot = mas_safe_min(mas, pivots, mas->offset); in mas_prev_slot()
4471 mas->index = mas_safe_min(mas, pivots, mas->offset); in mas_prev_slot()
4484 pivots = ma_pivots(node, type); in mas_prev_slot()
4485 mas->index = pivots[mas->offset - 1] + 1; in mas_prev_slot()
4523 unsigned long *pivots; in mas_next_node() local
4546 pivots = ma_pivots(node, mt); in mas_next_node()
4547 node_end = ma_data_end(node, mt, pivots, mas->max); in mas_next_node()
4574 pivots = ma_pivots(node, mt); in mas_next_node()
4576 mas->max = mas_safe_pivot(mas, pivots, mas->offset, mt); in mas_next_node()
4607 unsigned long *pivots; in mas_next_slot() local
4618 pivots = ma_pivots(node, type); in mas_next_slot()
4619 data_end = ma_data_end(node, type, pivots, mas->max); in mas_next_slot()
4625 pivot = pivots[mas->offset]; in mas_next_slot()
4637 mas->index = pivots[mas->offset] + 1; in mas_next_slot()
4641 mas->last = pivots[mas->offset]; in mas_next_slot()
4660 pivots = ma_pivots(node, type); in mas_next_slot()
4661 mas->last = pivots[0]; in mas_next_slot()
4726 unsigned long *pivots, *gaps; in mas_rev_awalk() local
4741 pivots = ma_pivots(node, type); in mas_rev_awalk()
4745 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4748 min = mas_safe_min(mas, pivots, --offset); in mas_rev_awalk()
4750 max = mas_safe_pivot(mas, pivots, offset, type); in mas_rev_awalk()
4768 max = pivots[offset]; in mas_rev_awalk()
4769 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4779 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4813 unsigned long *gaps, *pivots; in mas_anode_descend() local
4824 pivots = ma_pivots(node, type); in mas_anode_descend()
4828 min = mas_safe_min(mas, pivots, offset); in mas_anode_descend()
4829 data_end = ma_data_end(node, type, pivots, mas->max); in mas_anode_descend()
4831 pivot = mas_safe_pivot(mas, pivots, offset, type); in mas_anode_descend()
5027 unsigned long *pivots; in mas_empty_area() local
5060 pivots = ma_pivots(mas_mn(mas), mt); in mas_empty_area()
5061 min = mas_safe_min(mas, pivots, offset); in mas_empty_area()
6921 unsigned long *pivots = ma_pivots(node, mt); in mas_validate_gaps() local
6939 p_end = mas_safe_pivot(mas, pivots, i, mt); in mas_validate_gaps()
7042 unsigned long *pivots = ma_pivots(mte_to_node(mas->node), type); in mas_validate_child_slot() local
7072 if (i < mt_pivots[type] && pivots[i] == mas->max) in mas_validate_child_slot()
7088 unsigned long *pivots = ma_pivots(mas_mn(mas), type); in mas_validate_limits() local
7093 piv = mas_safe_pivot(mas, pivots, i, type); in mas_validate_limits()
7138 unsigned long piv = pivots[i]; in mas_validate_limits()