Lines Matching refs:parent
170 struct rb_node *parent, struct rb_root *root) in __rb_change_child() argument
172 if (parent) { in __rb_change_child()
173 if (parent->rb_left == old) in __rb_change_child()
174 WRITE_ONCE(parent->rb_left, new); in __rb_change_child()
176 WRITE_ONCE(parent->rb_right, new); in __rb_change_child()
183 struct rb_node *parent, struct rb_root *root) in __rb_change_child_rcu() argument
185 if (parent) { in __rb_change_child_rcu()
186 if (parent->rb_left == old) in __rb_change_child_rcu()
187 rcu_assign_pointer(parent->rb_left, new); in __rb_change_child_rcu()
189 rcu_assign_pointer(parent->rb_right, new); in __rb_change_child_rcu()
194 extern void __rb_erase_color(struct rb_node *parent, struct rb_root *root,
203 struct rb_node *parent, *rebalance; in __rb_erase_augmented() local
215 parent = __rb_parent(pc); in __rb_erase_augmented()
216 __rb_change_child(node, child, parent, root); in __rb_erase_augmented()
221 rebalance = __rb_is_black(pc) ? parent : NULL; in __rb_erase_augmented()
222 tmp = parent; in __rb_erase_augmented()
226 parent = __rb_parent(pc); in __rb_erase_augmented()
227 __rb_change_child(node, tmp, parent, root); in __rb_erase_augmented()
229 tmp = parent; in __rb_erase_augmented()
244 parent = successor; in __rb_erase_augmented()
264 parent = successor; in __rb_erase_augmented()
269 WRITE_ONCE(parent->rb_left, child2); in __rb_erase_augmented()
274 augment->propagate(parent, successor); in __rb_erase_augmented()
286 rb_set_parent_color(child2, parent, RB_BLACK); in __rb_erase_augmented()
289 rebalance = rb_is_black(successor) ? parent : NULL; in __rb_erase_augmented()