Lines Matching refs:rb_node

40 	void (*propagate)(struct rb_node *node, struct rb_node *stop);
41 void (*copy)(struct rb_node *old, struct rb_node *new);
42 void (*rotate)(struct rb_node *old, struct rb_node *new);
45 extern void __rb_insert_augmented(struct rb_node *node,
47 bool newleft, struct rb_node **leftmost,
48 void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
60 rb_insert_augmented(struct rb_node *node, struct rb_root *root, in rb_insert_augmented()
67 rb_insert_augmented_cached(struct rb_node *node, in rb_insert_augmented_cached()
78 rbname ## _propagate(struct rb_node *rb, struct rb_node *stop) \
90 rbname ## _copy(struct rb_node *rb_old, struct rb_node *rb_new) \
97 rbname ## _rotate(struct rb_node *rb_old, struct rb_node *rb_new) \
114 #define __rb_parent(pc) ((struct rb_node *)(pc & ~3))
123 static inline void rb_set_parent(struct rb_node *rb, struct rb_node *p) in rb_set_parent()
128 static inline void rb_set_parent_color(struct rb_node *rb, in rb_set_parent_color()
129 struct rb_node *p, int color) in rb_set_parent_color()
135 __rb_change_child(struct rb_node *old, struct rb_node *new, in __rb_change_child()
136 struct rb_node *parent, struct rb_root *root) in __rb_change_child()
144 WRITE_ONCE(root->rb_node, new); in __rb_change_child()
148 __rb_change_child_rcu(struct rb_node *old, struct rb_node *new, in __rb_change_child_rcu()
149 struct rb_node *parent, struct rb_root *root) in __rb_change_child_rcu()
157 rcu_assign_pointer(root->rb_node, new); in __rb_change_child_rcu()
160 extern void __rb_erase_color(struct rb_node *parent, struct rb_root *root,
161 void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
163 static __always_inline struct rb_node *
164 __rb_erase_augmented(struct rb_node *node, struct rb_root *root, in __rb_erase_augmented()
165 struct rb_node **leftmost, in __rb_erase_augmented()
168 struct rb_node *child = node->rb_right; in __rb_erase_augmented()
169 struct rb_node *tmp = node->rb_left; in __rb_erase_augmented()
170 struct rb_node *parent, *rebalance; in __rb_erase_augmented()
201 struct rb_node *successor = child, *child2; in __rb_erase_augmented()
272 rb_erase_augmented(struct rb_node *node, struct rb_root *root, in rb_erase_augmented()
275 struct rb_node *rebalance = __rb_erase_augmented(node, root, in rb_erase_augmented()
282 rb_erase_augmented_cached(struct rb_node *node, struct rb_root_cached *root, in rb_erase_augmented_cached()
285 struct rb_node *rebalance = __rb_erase_augmented(node, &root->rb_root, in rb_erase_augmented_cached()