summaryrefslogtreecommitdiff
path: root/include/linux/rbtree_augmented.h
diff options
context:
space:
mode:
authorWei Yang <[email protected]>2019-12-04 16:51:50 -0800
committerLinus Torvalds <[email protected]>2019-12-04 19:44:13 -0800
commit8b7569a224a18953b9aee29c375e439b8a6eeb05 (patch)
tree846b4d52291e14c51c7027a00acc250cf5eea4b9 /include/linux/rbtree_augmented.h
parent11d43e62f693c66c8c76c2ea2349e0f3c5764964 (diff)
lib/rbtree: get successor's color directly
After move parent assignment out, we can check the color directly. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Wei Yang <[email protected]> Acked-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Michel Lespinasse <[email protected]> Reviewed-by: Davidlohr Bueso <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/rbtree_augmented.h')
-rw-r--r--include/linux/rbtree_augmented.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/rbtree_augmented.h b/include/linux/rbtree_augmented.h
index 99c42e1a74b8..724b0d036b57 100644
--- a/include/linux/rbtree_augmented.h
+++ b/include/linux/rbtree_augmented.h
@@ -286,8 +286,7 @@ __rb_erase_augmented(struct rb_node *node, struct rb_root *root,
rb_set_parent_color(child2, parent, RB_BLACK);
rebalance = NULL;
} else {
- unsigned long pc2 = successor->__rb_parent_color;
- rebalance = __rb_is_black(pc2) ? parent : NULL;
+ rebalance = rb_is_black(successor) ? parent : NULL;
}
successor->__rb_parent_color = pc;
tmp = successor;