Lines Matching refs:min

392 	return !mas->min && mas->max == ULONG_MAX;  in mas_is_root_limits()
733 return mas->min; in mas_safe_min()
1029 mas->min = pivots[mas->offset - 1] + 1; in mas_descend()
1069 unsigned long min, max; in mas_ascend() local
1095 mas->min = 0; in mas_ascend()
1099 min = 0; in mas_ascend()
1108 min = mas->min; in mas_ascend()
1128 min = pivots[a_slot - 1] + 1; in mas_ascend()
1145 mas->min = min; in mas_ascend()
1276 max_req = min(requested, max_req); in mas_alloc_nodes()
1372 mas->min = 0; in mas_start()
1520 max_gap = pivots[0] - mas->min + 1; in mas_leaf_max_gap()
1537 if (max_gap > pivots[max_piv] - mas->min) in mas_leaf_max_gap()
1949 piv_end = min(mas_end, mt_pivots[mt]); in mas_mab_cp()
2090 piv = mas->min - 1; in mas_store_b_node()
2216 mas->offset = mas->index = mas->min; in mas_wr_node_walk()
2258 mast->l->min = mast->orig_l->min; in mast_rebalance_prev()
2259 mast->orig_l->index = mast->orig_l->min; in mast_rebalance_prev()
2334 mast->orig_l->index = mast->l->min; in mast_ascend()
2611 if ((tmp_next[n].min >= tmp_next->index) && in mas_topiary_replace()
2678 mast->l->min = mast->orig_l->min; in mast_cp_to_nodes()
2688 mast->m->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2695 mast->r->min = mast->bn->pivot[split] + 1; in mast_cp_to_nodes()
2765 unsigned long max, min; in mtree_range_walk() local
2769 min = mas->min; in mtree_range_walk()
2777 prev_min = min; in mtree_range_walk()
2794 min = pivots[offset - 1] + 1; in mtree_range_walk()
2804 mas->index = min; in mtree_range_walk()
2806 mas->min = prev_min; in mtree_range_walk()
2855 if (((mast->orig_l->min != 0) || (mast->orig_r->max != ULONG_MAX)) && in mas_spanning_rebalance()
2953 mas->min = l_mas.min; in mas_spanning_rebalance()
3008 l_mas.index = l_mas.last = l_mas.min; in mas_rebalance()
3064 mas->min = l_mas.max + 1; in mas_destroy_rebalance()
3221 mast->r->min = mast->l->max + 1; in mast_split_data()
3529 wr_mas->mas->min = wr_mas->r_min; in mas_wr_walk_traverse()
3607 l_mas->index = l_mas->min; in mas_extend_spanning_null()
4369 unsigned long min = range_lo; in mas_alloc_cyclic() local
4372 range_lo = max(min, *next); in mas_alloc_cyclic()
4378 if (ret < 0 && range_lo > min) { in mas_alloc_cyclic()
4380 ret = mas_empty_area(mas, min, range_hi, 1); in mas_alloc_cyclic()
4433 static int mas_prev_node(struct ma_state *mas, unsigned long min) in mas_prev_node() argument
4443 if (!mas->min) in mas_prev_node()
4446 max = mas->min - 1; in mas_prev_node()
4447 if (max < min) in mas_prev_node()
4487 mas->min = pivots[offset - 1] + 1; in mas_prev_node()
4513 static void *mas_prev_slot(struct ma_state *mas, unsigned long min, bool empty) in mas_prev_slot() argument
4530 if (mas->min <= min) { in mas_prev_slot()
4536 if (pivot <= min) in mas_prev_slot()
4546 if (mas->index <= min) in mas_prev_slot()
4549 if (mas_prev_node(mas, min)) { in mas_prev_slot()
4573 if (mas->index <= min) in mas_prev_slot()
4599 unsigned long min; in mas_next_node() local
4611 min = mas->max + 1; in mas_next_node()
4663 mas->min = min; in mas_next_node()
4738 mas->index = mas->min; in mas_next_slot()
4784 unsigned long max, min; in mas_rev_awalk() local
4792 mas->offset = (unsigned char)(mas->index - mas->min); in mas_rev_awalk()
4800 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4802 while (mas->last < min) in mas_rev_awalk()
4803 min = mas_safe_min(mas, pivots, --offset); in mas_rev_awalk()
4811 gap = max - min + 1; in mas_rev_awalk()
4814 if ((size <= gap) && (size <= mas->last - min + 1)) in mas_rev_awalk()
4824 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4833 max = min - 1; in mas_rev_awalk()
4834 min = mas_safe_min(mas, pivots, offset); in mas_rev_awalk()
4842 *gap_min = min; in mas_rev_awalk()
4843 *gap_max = min + gap - 1; in mas_rev_awalk()
4849 mas->min = min; in mas_rev_awalk()
4866 unsigned long pivot, min, gap = 0; in mas_anode_descend() local
4874 mas->offset = (unsigned char)(mas->index - mas->min); in mas_anode_descend()
4883 min = mas_safe_min(mas, pivots, offset); in mas_anode_descend()
4895 gap = min(pivot, mas->last) - max(mas->index, min) + 1; in mas_anode_descend()
4906 mas->min = min; in mas_anode_descend()
4912 min = pivot + 1; in mas_anode_descend()
5042 static inline int mas_sparse_area(struct ma_state *mas, unsigned long min, in mas_sparse_area() argument
5045 if (!unlikely(mas_is_none(mas)) && min == 0) { in mas_sparse_area()
5046 min++; in mas_sparse_area()
5051 if (min > max || max - min + 1 < size) in mas_sparse_area()
5057 mas->index = min; in mas_sparse_area()
5058 mas->last = min + size - 1; in mas_sparse_area()
5074 int mas_empty_area(struct ma_state *mas, unsigned long min, 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()
5100 mas->index = min; in mas_empty_area()
5111 min = mas_safe_min(mas, pivots, offset); in mas_empty_area()
5112 if (mas->index < min) in mas_empty_area()
5113 mas->index = min; in mas_empty_area()
5128 int mas_empty_area_rev(struct ma_state *mas, unsigned long min, 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()
5153 mas->index = min; in mas_empty_area_rev()
5156 while (!mas_rev_awalk(mas, size, &min, &max)) { in mas_empty_area_rev()
5669 } else if (mas->index > mas->max || mas->index < mas->min) { in mas_may_activate()
5805 static bool mas_prev_setup(struct ma_state *mas, unsigned long min, void **entry) in mas_prev_setup() argument
5807 if (unlikely(mas->index <= min)) { in mas_prev_setup()
5877 void *mas_prev(struct ma_state *mas, unsigned long min) in mas_prev() argument
5881 if (mas_prev_setup(mas, min, &entry)) in mas_prev()
5884 return mas_prev_slot(mas, min, false); in mas_prev()
5900 void *mas_prev_range(struct ma_state *mas, unsigned long min) in mas_prev_range() argument
5904 if (mas_prev_setup(mas, min, &entry)) in mas_prev_range()
5907 return mas_prev_slot(mas, min, true); in mas_prev_range()
5923 void *mt_prev(struct maple_tree *mt, unsigned long index, unsigned long min) in mt_prev() argument
5929 entry = mas_prev(&mas, min); in mt_prev()
6101 static bool mas_find_rev_setup(struct ma_state *mas, unsigned long min, in mas_find_rev_setup() argument
6111 if (unlikely(mas->index <= min)) { in mas_find_rev_setup()
6119 if (mas->index <= min) in mas_find_rev_setup()
6126 if (unlikely(mas->index <= min)) { in mas_find_rev_setup()
6134 if (unlikely(mas->index <= min)) in mas_find_rev_setup()
6147 if (mas->index < min) in mas_find_rev_setup()
6170 if (mas->index < min) in mas_find_rev_setup()
6193 void *mas_find_rev(struct ma_state *mas, unsigned long min) in mas_find_rev() argument
6197 if (mas_find_rev_setup(mas, min, &entry)) in mas_find_rev()
6201 return mas_prev_slot(mas, min, false); in mas_find_rev()
6219 void *mas_find_range_rev(struct ma_state *mas, unsigned long min) in mas_find_range_rev() argument
6223 if (mas_find_rev_setup(mas, min, &entry)) in mas_find_range_rev()
6227 return mas_prev_slot(mas, min, true); in mas_find_range_rev()
6453 void *entry, unsigned long size, unsigned long min, in mtree_alloc_range() argument
6467 ret = mas_empty_area(&mas, min, max, size); in mtree_alloc_range()
6535 void *entry, unsigned long size, unsigned long min, in mtree_alloc_rrange() argument
6549 ret = mas_empty_area_rev(&mas, min, max, size); in mtree_alloc_rrange()
6747 new_mas->min = 0; in mas_dup_build()
7090 p_min = mas->min; in mas_dfs_postorder()
7097 mas->min = p_min; 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()
7112 pr_info("%.*s%lx: ", depth * 2, spaces, min); 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()
7118 pr_info("%.*s%lu: ", depth * 2, spaces, min); 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
7146 unsigned long first = min; in mt_dump_range64()
7194 unsigned long min, unsigned long max, unsigned int depth, in mt_dump_arange64() argument
7198 unsigned long first = min; 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()
7271 min + i, min + i, depth, format); 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()
7312 unsigned long p_end, p_start = mas->min; in mas_validate_gaps()
7501 if (piv < mas->min) { in mas_validate_limits()
7503 piv, mas->min); in mas_validate_limits()
7504 MAS_WARN_ON(mas, piv < mas->min); in mas_validate_limits()
7687 mas->min, mas->max, mas->alloc, mas->depth, mas->mas_flags); in mas_dump()