]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
maple_tree: Change __mas_walk and mas_wr_walk to directly use type.
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 4 Dec 2020 03:44:49 +0000 (22:44 -0500)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 5 Jan 2021 17:33:33 +0000 (12:33 -0500)
The node type is known, so don't look it up again

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

index 8ae58d1fd6e4da0fb0cdf9f7e1a1bc04298b73b6..1b678ef90c05cb37ab5a2d77b5d9de7f800fd0a5 100644 (file)
@@ -3050,7 +3050,8 @@ bool mas_wr_walk(struct ma_state *mas, unsigned long *range_min,
                // Traverse.
                mas->max = *range_max;
                mas->min = *range_min;
-               mas->node = mas_get_slot(mas, mas->offset);
+               mas->node = mas_slot_locked(mas, ma_slots(mas_mn(mas), type),
+                                    mas->offset);
                mas->offset = 0;
        }
        return true;
@@ -3129,7 +3130,7 @@ static inline bool __mas_walk(struct ma_state *mas, unsigned long *range_min,
                if (unlikely(ma_is_leaf(type)))
                        return true;
 
-               next = mas_get_slot(mas, mas->offset);
+               next = mas_slot(mas, ma_slots(mas_mn(mas), type), mas->offset);
                if (unlikely(!next))
                        return false;