Lines Matching refs:rb_node

30 	void (*propagate)(struct rb_node *node, struct rb_node *stop);
31 void (*copy)(struct rb_node *old, struct rb_node *new);
32 void (*rotate)(struct rb_node *old, struct rb_node *new);
35 extern void __rb_insert_augmented(struct rb_node *node, struct rb_root *root,
36 void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
49 rb_insert_augmented(struct rb_node *node, struct rb_root *root,
56 rb_insert_augmented_cached(struct rb_node *node,
71 * RBFIELD: name of struct rb_node field within RBSTRUCT
79 RBNAME ## _propagate(struct rb_node *rb, struct rb_node *stop) \
89 RBNAME ## _copy(struct rb_node *rb_old, struct rb_node *rb_new) \
96 RBNAME ## _rotate(struct rb_node *rb_old, struct rb_node *rb_new) \
116 * RBFIELD: name of struct rb_node field within RBSTRUCT
150 #define __rb_parent(pc) ((struct rb_node *)(pc & ~3))
159 static inline void rb_set_parent(struct rb_node *rb, struct rb_node *p)
164 static inline void rb_set_parent_color(struct rb_node *rb,
165 struct rb_node *p, int color)
171 __rb_change_child(struct rb_node *old, struct rb_node *new,
172 struct rb_node *parent, struct rb_root *root)
180 WRITE_ONCE(root->rb_node, new);
183 extern void __rb_erase_color(struct rb_node *parent, struct rb_root *root,
184 void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
186 static __always_inline struct rb_node *
187 __rb_erase_augmented(struct rb_node *node, struct rb_root *root,
190 struct rb_node *child = node->rb_right;
191 struct rb_node *tmp = node->rb_left;
192 struct rb_node *parent, *rebalance;
220 struct rb_node *successor = child, *child2;
291 rb_erase_augmented(struct rb_node *node, struct rb_root *root,
294 struct rb_node *rebalance = __rb_erase_augmented(node, root, augment);
300 rb_erase_augmented_cached(struct rb_node *node, struct rb_root_cached *root,