Lines Matching defs:min
375 return !mas->min && mas->max == ULONG_MAX;
745 return mas->min;
1045 mas->min = pivots[mas->offset - 1] + 1;
1072 * Sets the @mas->max and @mas->min to the correct values when walking up. This
1073 * may cause several levels of walking up to find the correct min and max.
1085 unsigned long min, max;
1111 mas->min = 0;
1115 if (!mas->min)
1121 min = 0;
1136 min = pivots[a_slot - 1] + 1;
1153 mas->min = min;
1286 max_req = min(requested, max_req);
1366 * If mas->node == MAS_START, then set the min, max and depth to
1380 mas->min = 0;
1528 max_gap = pivots[0] - mas->min + 1;
1873 struct maple_big_node *bn, unsigned char *mid_split, unsigned long min)
1919 ((bn->pivot[split] - min) < slot_count - 1) &&
1963 piv_end = min(mas_end, mt_pivots[mt]);
2119 piv = mas->min - 1;
2242 mas->offset = mas->index = mas->min;
2286 mast->l->min = mast->orig_l->min;
2287 mast->orig_l->index = mast->orig_l->min;
2364 mast->orig_l->index = mast->l->min;
2403 unsigned char *mid_split, unsigned long min)
2416 split = mab_calc_split(mas, b_node, mid_split, min);
2639 if ((tmp_next[n].min >= tmp_next->index) &&
2705 mast->l->min = mast->orig_l->min;
2715 mast->m->min = mast->bn->pivot[split] + 1;
2722 mast->r->min = mast->bn->pivot[split] + 1;
2792 unsigned long max, min;
2796 min = mas->min;
2810 prev_min = min;
2819 prev_min = min;
2820 min = pivots[offset - 1] + 1;
2833 mas->index = min;
2835 mas->min = prev_min;
2885 if (((mast->orig_l->min != 0) || (mast->orig_r->max != ULONG_MAX)) &&
2906 &mid_split, mast->orig_l->min);
2974 mas->min = l_mas.min;
3034 l_mas.index = l_mas.last = l_mas.min;
3094 mas->min = l_mas.max + 1;
3257 mast->r->min = mast->l->max + 1;
3414 split = mab_calc_split(mas, b_node, &mid_split, prev_l_mas.min);
3613 wr_mas->mas->min = wr_mas->r_min;
3683 l_mas->index = l_mas->min;
4354 * @min: The lower limit to search
4359 static inline int mas_prev_node(struct ma_state *mas, unsigned long min)
4369 if (!mas->min)
4372 max = mas->min - 1;
4373 if (max < min)
4413 mas->min = pivots[offset - 1] + 1;
4439 static void *mas_prev_slot(struct ma_state *mas, unsigned long min, bool empty,
4457 if (mas->min <= min) {
4463 if (pivot <= min)
4473 if (mas_prev_node(mas, min)) {
4497 if (mas->index <= min)
4522 unsigned long min;
4533 min = mas->max + 1;
4581 mas->min = min;
4657 mas->index = mas->min;
4729 unsigned long max, min;
4737 mas->offset = (unsigned char)(mas->index - mas->min);
4745 min = mas_safe_min(mas, pivots, offset);
4747 while (mas->last < min)
4748 min = mas_safe_min(mas, pivots, --offset);
4756 gap = max - min + 1;
4759 if ((size <= gap) && (size <= mas->last - min + 1))
4769 min = mas_safe_min(mas, pivots, offset);
4778 max = min - 1;
4779 min = mas_safe_min(mas, pivots, offset);
4787 *gap_min = min;
4788 *gap_max = min + gap - 1;
4794 mas->min = min;
4811 unsigned long pivot, min, gap = 0;
4819 mas->offset = (unsigned char)(mas->index - mas->min);
4828 min = mas_safe_min(mas, pivots, offset);
4840 gap = min(pivot, mas->last) - max(mas->index, min) + 1;
4851 mas->min = min;
4858 min = pivot + 1;
4986 * @min: the minimum range
4991 static inline int mas_sparse_area(struct ma_state *mas, unsigned long min,
4994 if (!unlikely(mas_is_none(mas)) && min == 0) {
4995 min++;
4997 * At this time, min is increased, we need to recheck whether
5000 if (min > max || max - min + 1 < size)
5006 mas->index = min;
5007 mas->last = min + size - 1;
5019 * @min: The lowest value of the range
5023 int mas_empty_area(struct ma_state *mas, unsigned long min,
5030 if (min > max)
5033 if (size == 0 || max - min < size - 1)
5045 return mas_sparse_area(mas, min, max, size, true);
5048 mas->index = min;
5061 min = mas_safe_min(mas, pivots, offset);
5062 if (mas->index < min)
5063 mas->index = min;
5073 * @min: The lowest value of the range
5077 int mas_empty_area_rev(struct ma_state *mas, unsigned long min,
5082 if (min > max)
5085 if (size == 0 || max - min < size - 1)
5099 return mas_sparse_area(mas, min, max, size, false);
5102 mas->index = min;
5105 while (!mas_rev_awalk(mas, size, &min, &max)) {
5773 static inline bool mas_prev_setup(struct ma_state *mas, unsigned long min,
5776 if (unlikely(mas->index <= min)) {
5794 /* underflowed before but the min changed */
5830 * @min: The minimum value to check.
5838 void *mas_prev(struct ma_state *mas, unsigned long min)
5842 if (mas_prev_setup(mas, min, &entry))
5845 return mas_prev_slot(mas, min, false, true);
5852 * @min: The minimum value to check.
5861 void *mas_prev_range(struct ma_state *mas, unsigned long min)
5865 if (mas_prev_setup(mas, min, &entry))
5868 return mas_prev_slot(mas, min, true, true);
5876 * @min: The minimum index to check
5884 void *mt_prev(struct maple_tree *mt, unsigned long index, unsigned long min)
5890 entry = mas_prev(&mas, min);
6035 * @min: The minimum index
6040 static inline bool mas_find_rev_setup(struct ma_state *mas, unsigned long min,
6044 if (mas->index > min)
6051 if (unlikely(mas->index <= min)) {
6058 if (mas->index <= min)
6064 if (mas->last <= min) {
6074 if (mas->index < min)
6098 if (mas->index < min)
6110 * mas->index down to %min. Otherwise find the first non-null entry below
6111 * mas->index down to %min.
6113 * @min: The minimum value to check.
6121 void *mas_find_rev(struct ma_state *mas, unsigned long min)
6125 if (mas_find_rev_setup(mas, min, &entry))
6129 return mas_prev_slot(mas, min, false, false);
6136 * below mas->index down to %min. Otherwise advance to the previous slot after
6137 * mas->index down to %min.
6139 * @min: The minimum value to check.
6147 void *mas_find_range_rev(struct ma_state *mas, unsigned long min)
6151 if (mas_find_rev_setup(mas, min, &entry))
6155 return mas_prev_slot(mas, min, true, false);
6379 void *entry, unsigned long size, unsigned long min,
6393 ret = mas_empty_area(&mas, min, max, size);
6417 void *entry, unsigned long size, unsigned long min,
6431 ret = mas_empty_area_rev(&mas, min, max, size);
6706 p_min = mas->min;
6713 mas->min = p_min;
6718 unsigned long min, unsigned long max, unsigned int depth,
6720 static void mt_dump_range(unsigned long min, unsigned long max,
6727 if (min == max)
6728 pr_info("%.*s%lx: ", depth * 2, spaces, min);
6730 pr_info("%.*s%lx-%lx: ", depth * 2, spaces, min, max);
6734 if (min == max)
6735 pr_info("%.*s%lu: ", depth * 2, spaces, min);
6737 pr_info("%.*s%lu-%lu: ", depth * 2, spaces, min, max);
6741 static void mt_dump_entry(void *entry, unsigned long min, unsigned long max,
6744 mt_dump_range(min, max, depth, format);
6758 unsigned long min, unsigned long max, unsigned int depth,
6763 unsigned long first = min;
6813 unsigned long min, unsigned long max, unsigned int depth,
6818 unsigned long first = min;
6872 unsigned long min, unsigned long max, unsigned int depth,
6879 mt_dump_range(min, max, depth, format);
6887 if (min + i > max)
6890 min + i, min + i, depth, format);
6895 mt_dump_range64(mt, entry, min, max, depth, format);
6898 mt_dump_arange64(mt, entry, min, max, depth, format);
6929 unsigned long p_end, p_start = mas->min;
7089 * Validate all pivots are within mas->min and mas->max, check metadata ends
7118 if (piv < mas->min) {
7120 piv, mas->min);
7121 MAS_WARN_ON(mas, piv < mas->min);
7200 * 1. The limits (pivots are within mas->min to mas->max)
7251 pr_err(" min=%lx max=%lx alloc=%p, depth=%u, flags=%x\n",
7252 mas->min, mas->max, mas->alloc, mas->depth, mas->mas_flags);