Lines Matching refs:rb_node
24 struct rb_node { struct
26 struct rb_node *rb_right; argument
27 struct rb_node *rb_left; argument
32 struct rb_node *rb_node; member
35 #define rb_parent(r) ((struct rb_node *)((r)->__rb_parent_color & ~3))
40 #define RB_EMPTY_ROOT(root) (READ_ONCE((root)->rb_node) == NULL)
49 extern void rb_insert_color(struct rb_node *, struct rb_root *);
50 extern void rb_erase(struct rb_node *, struct rb_root *);
54 extern struct rb_node *rb_next(const struct rb_node *);
55 extern struct rb_node *rb_prev(const struct rb_node *);
56 extern struct rb_node *rb_first(const struct rb_root *);
57 extern struct rb_node *rb_last(const struct rb_root *);
60 extern struct rb_node *rb_first_postorder(const struct rb_root *);
61 extern struct rb_node *rb_next_postorder(const struct rb_node *);
64 extern void rb_replace_node(struct rb_node *victim, struct rb_node *new,
66 extern void rb_replace_node_rcu(struct rb_node *victim, struct rb_node *new,
69 static inline void rb_link_node(struct rb_node *node, struct rb_node *parent, in rb_link_node()
70 struct rb_node **rb_link) in rb_link_node()
78 static inline void rb_link_node_rcu(struct rb_node *node, struct rb_node *parent, in rb_link_node_rcu()
79 struct rb_node **rb_link) in rb_link_node_rcu()
127 struct rb_node *rb_leftmost;
135 static inline void rb_insert_color_cached(struct rb_node *node, in rb_insert_color_cached()
144 static inline void rb_erase_cached(struct rb_node *node, in rb_erase_cached()
152 static inline void rb_replace_node_cached(struct rb_node *victim, in rb_replace_node_cached()
153 struct rb_node *new, in rb_replace_node_cached()