lib/rbtree: get successor's color directly
After move parent assignment out, we can check the color directly. Link: http://lkml.kernel.org/r/20191028021442.5450-2-richardw.yang@linux.intel.com Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Michel Lespinasse <walken@google.com> Reviewed-by: Davidlohr Bueso <dbueso@suse.de> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
11d43e62f6
commit
8b7569a224
|
@ -286,8 +286,7 @@ __rb_erase_augmented(struct rb_node *node, struct rb_root *root,
|
||||||
rb_set_parent_color(child2, parent, RB_BLACK);
|
rb_set_parent_color(child2, parent, RB_BLACK);
|
||||||
rebalance = NULL;
|
rebalance = NULL;
|
||||||
} else {
|
} else {
|
||||||
unsigned long pc2 = successor->__rb_parent_color;
|
rebalance = rb_is_black(successor) ? parent : NULL;
|
||||||
rebalance = __rb_is_black(pc2) ? parent : NULL;
|
|
||||||
}
|
}
|
||||||
successor->__rb_parent_color = pc;
|
successor->__rb_parent_color = pc;
|
||||||
tmp = successor;
|
tmp = successor;
|
||||||
|
|
Loading…
Reference in New Issue