Lines Matching refs:max

392 	return !mas->min && mas->max == ULONG_MAX;  in mas_is_root_limits()
714 return mas->max; in mas_safe_pivot()
1030 mas->max = mas_safe_pivot(mas, pivots, mas->offset, type); in mas_descend()
1069 unsigned long min, max; in mas_ascend() local
1094 mas->max = ULONG_MAX; in mas_ascend()
1100 max = ULONG_MAX; in mas_ascend()
1112 if (mas->max == ULONG_MAX) in mas_ascend()
1133 max = pivots[a_slot]; in mas_ascend()
1144 mas->max = max; in mas_ascend()
1373 mas->max = ULONG_MAX; in mas_start()
1423 enum maple_type type, unsigned long *pivots, unsigned long max) in ma_data_end() argument
1437 if (likely(pivots[offset] == max)) in ma_data_end()
1472 if (likely(pivots[offset] == mas->max)) in mas_data_end()
1527 max_piv = ma_data_end(mn, mt, pivots, mas->max) - 1; in mas_leaf_max_gap()
1532 if (unlikely(mas->max == ULONG_MAX) && !slots[max_piv + 1]) { in mas_leaf_max_gap()
1709 offset = ma_data_end(node, type, pivots, mas->max); in mas_adopt_children()
1781 end = ma_data_end(node, mt, pivots, mas->max); in mas_find_child()
1955 if (unlikely(mas->max == b_node->pivot[j])) in mas_mab_cp()
2020 mas->max = b_node->pivot[i - 1]; in mab_mas_cp()
2106 if (mas->last >= mas->max) in mas_store_b_node()
2223 wr_mas->pivots, mas->max); in mas_wr_node_walk()
2229 wr_mas->r_max = offset < count ? wr_mas->pivots[offset] : mas->max; in mas_wr_node_walk()
2244 mast->orig_r->last = mast->orig_r->max; in mast_rebalance_next()
2325 mast->orig_r->index = mast->r->max; in mast_ascend()
2414 b_node->pivot[b_node->b_end++] = mas->max; in mab_set_b_end()
2612 (tmp_next[n].max <= tmp_next->last)) { in mas_topiary_replace()
2680 mast->l->max = mast->orig_r->max; in mast_cp_to_nodes()
2692 mast->r->max = mast->orig_r->max; in mast_cp_to_nodes()
2721 if (mast->bn->pivot[mast->bn->b_end - 1] >= mast->orig_r->max) in mast_combine_cp_right()
2727 mast->orig_r->last = mast->orig_r->max; in mast_combine_cp_right()
2765 unsigned long max, min; in mtree_range_walk() local
2770 max = mas->max; in mtree_range_walk()
2776 end = ma_data_end(node, type, pivots, max); in mtree_range_walk()
2778 prev_max = max; in mtree_range_walk()
2781 max = pivots[0]; in mtree_range_walk()
2788 max = pivots[offset]; in mtree_range_walk()
2805 mas->last = max; in mtree_range_walk()
2807 mas->max = prev_max; in mtree_range_walk()
2855 if (((mast->orig_l->min != 0) || (mast->orig_r->max != ULONG_MAX)) && in mas_spanning_rebalance()
2900 mast->orig_l->last = mast->orig_l->max; in mas_spanning_rebalance()
2954 mas->max = l_mas.max; in mas_spanning_rebalance()
3000 r_mas.last = r_mas.index = r_mas.max; in mas_rebalance()
3059 pivs[tmp] = l_mas.max; in mas_destroy_rebalance()
3063 l_mas.max = l_pivs[split]; in mas_destroy_rebalance()
3064 mas->min = l_mas.max + 1; in mas_destroy_rebalance()
3117 pivs[offset - 1] = l_mas.max; in mas_destroy_rebalance()
3193 if (mast->bn->pivot[mast->bn->b_end - 1] == mas->max) in mast_fill_bnode()
3217 mte_set_pivot(mast->r->node, 0, mast->r->max); in mast_split_data()
3220 mast->l->max = mast->bn->pivot[split]; in mast_split_data()
3221 mast->r->min = mast->l->max + 1; in mast_split_data()
3265 if (mas->max == ULONG_MAX) in mas_push_data()
3381 mast.r->max = mas->max; in mas_split()
3491 unsigned long max = wr_mas->r_max; in mas_is_span_wr() local
3497 if (last < max) in mas_is_span_wr()
3501 max = wr_mas->mas->max; in mas_is_span_wr()
3502 if (last < max) in mas_is_span_wr()
3506 if (last == max) { in mas_is_span_wr()
3528 wr_mas->mas->max = wr_mas->r_max; in mas_wr_walk_traverse()
3617 (r_mas->last < r_mas->max) && in mas_extend_spanning_null()
3804 if (r_mas.max > r_mas.last) in mas_wr_spanning_store()
3885 dst_pivots[new_end] = mas->max; in mas_wr_node_store()
3966 mas->last = mas->max; in mas_wr_extend_null()
3997 wr_mas->end_piv = wr_mas->mas->max; in mas_wr_end_piv()
4152 if (mas->last > mas->max) in mas_wr_prealloc_setup()
4158 if (mte_is_leaf(mas->node) && mas->last == mas->max) in mas_wr_prealloc_setup()
4372 range_lo = max(min, *next); in mas_alloc_cyclic()
4440 unsigned long max; in mas_prev_node() local
4446 max = mas->min - 1; in mas_prev_node()
4447 if (max < min) in mas_prev_node()
4475 offset = ma_data_end(node, mt, pivots, max); in mas_prev_node()
4488 mas->max = max; in mas_prev_node()
4557 mas->last = mas->max; in mas_prev_slot()
4597 unsigned long max) in mas_next_node() argument
4608 if (mas->max >= max) in mas_next_node()
4611 min = mas->max + 1; in mas_next_node()
4625 node_end = ma_data_end(node, mt, pivots, mas->max); in mas_next_node()
4654 mas->max = mas_safe_pivot(mas, pivots, mas->offset, mt); in mas_next_node()
4658 mas->end = ma_data_end(tmp, mt, pivots, mas->max); in mas_next_node()
4683 static void *mas_next_slot(struct ma_state *mas, unsigned long max, bool empty) in mas_next_slot() argument
4700 if (mas->max >= max) { in mas_next_slot()
4704 pivot = mas->max; in mas_next_slot()
4709 if (pivot >= max) { /* Was at the limit, next will extend beyond */ in mas_next_slot()
4722 mas->last = mas->max; in mas_next_slot()
4724 if (mas->last >= max) { in mas_next_slot()
4729 if (mas_next_node(mas, node, max)) { in mas_next_slot()
4755 if (mas->last >= max) { in mas_next_slot()
4784 unsigned long max, min; in mas_rev_awalk() local
4805 max = mas_safe_pivot(mas, pivots, offset, type); in mas_rev_awalk()
4806 while (mas->index <= max) { in mas_rev_awalk()
4811 gap = max - min + 1; in mas_rev_awalk()
4823 max = pivots[offset]; in mas_rev_awalk()
4833 max = min - 1; in mas_rev_awalk()
4837 if (unlikely((mas->index > max) || (size - 1 > max - mas->index))) in mas_rev_awalk()
4850 mas->max = max; in mas_rev_awalk()
4884 data_end = ma_data_end(node, type, pivots, mas->max); in mas_anode_descend()
4895 gap = min(pivot, mas->last) - max(mas->index, min) + 1; in mas_anode_descend()
4907 mas->max = pivot; in mas_anode_descend()
5043 unsigned long max, unsigned long size, bool fwd) in mas_sparse_area() argument
5051 if (min > max || max - min + 1 < size) in mas_sparse_area()
5060 mas->last = max; in mas_sparse_area()
5061 mas->index = max - size + 1; in mas_sparse_area()
5075 unsigned long max, unsigned long size) in mas_empty_area() argument
5082 if (min > max) in mas_empty_area()
5085 if (size == 0 || max - min < size - 1) in mas_empty_area()
5097 return mas_sparse_area(mas, min, max, size, true); in mas_empty_area()
5101 mas->last = max; in mas_empty_area()
5115 mas->end = ma_data_end(node, mt, pivots, mas->max); in mas_empty_area()
5129 unsigned long max, unsigned long size) in mas_empty_area_rev() argument
5133 if (min > max) in mas_empty_area_rev()
5136 if (size == 0 || max - min < size - 1) in mas_empty_area_rev()
5145 return mas_sparse_area(mas, min, max, size, false); in mas_empty_area_rev()
5154 mas->last = max; in mas_empty_area_rev()
5156 while (!mas_rev_awalk(mas, size, &min, &max)) { in mas_empty_area_rev()
5172 if (max < mas->last) in mas_empty_area_rev()
5173 mas->last = max; in mas_empty_area_rev()
5640 nr_nodes = max(nr_entries, nr_entries * 2 + 1); in mas_expected_entries()
5669 } else if (mas->index > mas->max || mas->index < mas->min) { in mas_may_activate()
5676 static bool mas_next_setup(struct ma_state *mas, unsigned long max, in mas_next_setup() argument
5681 if (unlikely(mas->last >= max)) { in mas_next_setup()
5746 void *mas_next(struct ma_state *mas, unsigned long max) in mas_next() argument
5750 if (mas_next_setup(mas, max, &entry)) in mas_next()
5754 return mas_next_slot(mas, max, false); in mas_next()
5769 void *mas_next_range(struct ma_state *mas, unsigned long max) in mas_next_range() argument
5773 if (mas_next_setup(mas, max, &entry)) in mas_next_range()
5777 return mas_next_slot(mas, max, true); in mas_next_range()
5793 void *mt_next(struct maple_tree *mt, unsigned long index, unsigned long max) in mt_next() argument
5799 entry = mas_next(&mas, max); in mt_next()
5963 static __always_inline bool mas_find_setup(struct ma_state *mas, unsigned long max, void **entry) in mas_find_setup() argument
5967 if (mas->last < max) in mas_find_setup()
5973 if (unlikely(mas->last >= max)) in mas_find_setup()
5980 if (unlikely(mas->last >= max)) in mas_find_setup()
5988 if (unlikely(mas->index >= max)) { in mas_find_setup()
5999 if (unlikely(mas->last >= max)) in mas_find_setup()
6015 if (mas->index > max) in mas_find_setup()
6030 if (mas->index == max) in mas_find_setup()
6054 void *mas_find(struct ma_state *mas, unsigned long max) in mas_find() argument
6058 if (mas_find_setup(mas, max, &entry)) in mas_find()
6062 entry = mas_next_slot(mas, max, false); in mas_find()
6081 void *mas_find_range(struct ma_state *mas, unsigned long max) in mas_find_range() argument
6085 if (mas_find_setup(mas, max, &entry)) in mas_find_range()
6089 return mas_next_slot(mas, max, true); in mas_find_range()
6454 unsigned long max, gfp_t gfp) in mtree_alloc_range() argument
6467 ret = mas_empty_area(&mas, min, max, size); in mtree_alloc_range()
6536 unsigned long max, gfp_t gfp) in mtree_alloc_rrange() argument
6549 ret = mas_empty_area_rev(&mas, min, max, size); in mtree_alloc_rrange()
6748 new_mas->max = ULONG_MAX; in mas_dup_build()
6762 if (mas->max == ULONG_MAX) in mas_dup_build()
6918 void *mt_find(struct maple_tree *mt, unsigned long *index, unsigned long max) in mt_find() argument
6928 if ((*index) > max) in mt_find()
6943 while (mas_is_active(&mas) && (mas.last < max)) { in mt_find()
6944 entry = mas_next_slot(&mas, max, false); in mt_find()
6979 unsigned long max) in mt_find_after() argument
6984 return mt_find(mt, index, max); in mt_find_after()
7073 static void mas_dfs_postorder(struct ma_state *mas, unsigned long max) in mas_dfs_postorder() argument
7079 mas_next_node(mas, mas_mn(mas), max); in mas_dfs_postorder()
7091 p_max = mas->max; in mas_dfs_postorder()
7096 mas->max = p_max; in mas_dfs_postorder()
7102 unsigned long min, unsigned long max, unsigned int depth,
7104 static void mt_dump_range(unsigned long min, unsigned long max, in mt_dump_range() argument
7111 if (min == max) in mt_dump_range()
7114 pr_info("%.*s%lx-%lx: ", depth * 2, spaces, min, max); in mt_dump_range()
7117 if (min == max) in mt_dump_range()
7120 pr_info("%.*s%lu-%lu: ", depth * 2, spaces, min, max); in mt_dump_range()
7124 static void mt_dump_entry(void *entry, unsigned long min, unsigned long max, in mt_dump_entry() argument
7127 mt_dump_range(min, max, depth, format); in mt_dump_entry()
7141 unsigned long min, unsigned long max, unsigned int depth, in mt_dump_range64() argument
7161 unsigned long last = max; in mt_dump_range64()
7165 else if (!node->slot[i] && max != mt_node_max(entry)) in mt_dump_range64()
7176 if (last == max) in mt_dump_range64()
7178 if (last > max) { in mt_dump_range64()
7182 node, last, max, i); in mt_dump_range64()
7186 node, last, max, i); in mt_dump_range64()
7194 unsigned long min, unsigned long max, unsigned int depth, in mt_dump_arange64() argument
7223 unsigned long last = max; in mt_dump_arange64()
7235 if (last == max) in mt_dump_arange64()
7237 if (last > max) { in mt_dump_arange64()
7241 node, last, max, i); in mt_dump_arange64()
7245 node, last, max, i); in mt_dump_arange64()
7253 unsigned long min, unsigned long max, unsigned int depth, in mt_dump_node() argument
7260 mt_dump_range(min, max, depth, format); in mt_dump_node()
7268 if (min + i > max) in mt_dump_node()
7276 mt_dump_range64(mt, entry, min, max, depth, format); in mt_dump_node()
7279 mt_dump_arange64(mt, entry, min, max, depth, format); in mt_dump_node()
7356 if (p_end >= mas->max) in mas_validate_gaps()
7389 MT_BUG_ON(mas->tree, max_gap > mas->max); in mas_validate_gaps()
7466 if (i < mt_pivots[type] && pivots[i] == mas->max) in mas_validate_child_slot()
7506 if (piv > mas->max) { in mas_validate_limits()
7508 piv, mas->max); in mas_validate_limits()
7509 MAS_WARN_ON(mas, piv > mas->max); in mas_validate_limits()
7512 if (piv == mas->max) in mas_validate_limits()
7687 mas->min, mas->max, mas->alloc, mas->depth, mas->mas_flags); in mas_dump()