]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
maple_tree: Reduce mas_ascend() call to dead_node
authorLiam R. Howlett <Liam.Howlett@oracle.com>
Tue, 12 Oct 2021 13:31:27 +0000 (09:31 -0400)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Wed, 20 Oct 2021 19:23:10 +0000 (15:23 -0400)
Since the node is known and the parent is known, use them directly.

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

index 1592bb2212ab3a9289a2d5105098c5dfc8d8db93..9275c26c349012c45fe91ffa33f379d4a3ca3a32 100644 (file)
@@ -1018,23 +1018,24 @@ static int mas_ascend(struct ma_state *mas)
        unsigned char offset;
        bool set_max = false, set_min = false;
 
+
        a_node = mas_mn(mas);
        if (ma_is_root(a_node)) {
                mas->offset = 0;
                return 0;
        }
 
-       p_node = mte_parent(mas->node);
        a_type = mas_parent_enum(mas, mas->node);
        offset = mte_parent_slot(mas->node);
-       a_enode = mt_mk_node(p_node, a_type);
-       if (unlikely(mas_mn(mas) == p_node))
+       p_node = mte_parent(mas->node);
+       if (unlikely(a_node == p_node))
                return 1;
 
        /* Check to make sure all parent information is still accurate */
        if (p_node != mte_parent(mas->node))
                return 1;
 
+       a_enode = mt_mk_node(p_node, a_type);
        mas->node = a_enode;
        mas->offset = offset;