maple_tree: Don't pass a pointer to _mas_next()
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 8 Jan 2021 14:52:06 +0000 (09:52 -0500)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 8 Jan 2021 14:52:06 +0000 (09:52 -0500)
The pointer is no longer needed so remove the unnecessary code

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
lib/maple_tree.c

index 522f5fdfe5078fc777d9ac93a5ddb888123121fd..6d7f128807d5c9d545dc1b501d34628ba869e59b 100644 (file)
@@ -3829,8 +3829,7 @@ found:
  * May return NULL.
  *
  */
-static inline void *__mas_next(struct ma_state *mas, unsigned long limit,
-               unsigned long *range_start)
+static inline void *__mas_next(struct ma_state *mas, unsigned long limit)
 {
        void *entry = NULL;
        struct maple_enode *prev_node = mas->node;
@@ -3841,8 +3840,6 @@ static inline void *__mas_next(struct ma_state *mas, unsigned long limit,
 
        mas->offset++;
 retry:
-       r_start = mas->last + 1;
-
        if (unlikely(mas->offset >= mt_slots[mt]))
                goto next_node;
 
@@ -3860,7 +3857,7 @@ retry:
                        if (unlikely(mas_dead_node(mas, index)))
                                goto retry;
 
-                       *range_start = r_start;
+                       mas->index = r_start;
                        return entry;
                }
 
@@ -3872,8 +3869,7 @@ next_node:
                mt = mte_node_type(mas->node);
        }
 
-       *range_start = limit;
-       mas->last = mas->index = limit;
+       mas->index = mas->last = limit;
        mas->offset = offset;
        mas->node = prev_node;
        return NULL;
@@ -4558,20 +4554,19 @@ void *mas_load(struct ma_state *mas)
  * _mas_next() - Finds the next entry, sets index to the start of the range.
  *
  */
-static void *_mas_next(struct ma_state *mas, unsigned long limit,
-               unsigned long *range_start)
+static void *_mas_next(struct ma_state *mas, unsigned long limit)
 {
        void *entry = NULL;
 
 
        if (unlikely(mas_is_start(mas))) {// First run.
                unsigned long range_max;
+               unsigned long range_start;
 
                mas_start(mas);
-               *range_start = 0;
-               entry = mas_range_load(mas, range_start, &range_max);
+               entry = mas_range_load(mas, &range_start, &range_max);
                mas->last = range_max;
-               mas->index = *range_start;
+               mas->index = range_start;
                if (entry)
                        return entry;
        }
@@ -4579,8 +4574,7 @@ static void *_mas_next(struct ma_state *mas, unsigned long limit,
        if (unlikely(!mas_searchable(mas)))
                return NULL;
 
-       entry = __mas_next(mas, limit, range_start);
-       mas->index = *range_start;
+       entry = __mas_next(mas, limit);
        return entry;
 }
 
@@ -4595,11 +4589,10 @@ static void *_mas_next(struct ma_state *mas, unsigned long limit,
  */
 void *mas_find(struct ma_state *mas, unsigned long max)
 {
-       unsigned long index = mas->min;
        void *entry = NULL;
 
-       while (mas_search_cont(mas, index, max, entry))
-               entry = _mas_next(mas, max, &index);
+       while (mas_search_cont(mas, mas->index, max, entry))
+               entry = _mas_next(mas, max);
 
        return entry;
 }
@@ -4632,7 +4625,8 @@ void *_mt_find(struct maple_tree *mt, unsigned long *index, unsigned long max,
                entry = NULL;
 
        while (mas_search_cont(&mas, range_start, max, entry)) {
-               entry = _mas_next(&mas, max, &range_start);
+               entry = _mas_next(&mas, max);
+               range_start = mas.index;
                if (!entry || xa_is_zero(entry))
                        entry = NULL;
        }
@@ -4657,12 +4651,10 @@ EXPORT_SYMBOL(mt_find);
  */
 void *mas_next(struct ma_state *mas, unsigned long max)
 {
-       unsigned long index = 0;
-
        if (mas_is_none(mas))
                mas->node = MAS_START;
 
-       return _mas_next(mas, max, &index);
+       return _mas_next(mas, max);
 }
 EXPORT_SYMBOL_GPL(mas_next);
 /*