Lines Matching refs:node

73 __rb_insert(struct rb_node *node, struct rb_root *root,  in __rb_insert()  argument
76 struct rb_node *parent = rb_red_parent(node), *gparent, *tmp; in __rb_insert()
87 rb_set_parent_color(node, NULL, RB_BLACK); in __rb_insert()
112 node = gparent; in __rb_insert()
113 parent = rb_parent(node); in __rb_insert()
114 rb_set_parent_color(node, parent, RB_RED); in __rb_insert()
119 if (node == tmp) { in __rb_insert()
132 parent->rb_right = tmp = node->rb_left; in __rb_insert()
133 node->rb_left = parent; in __rb_insert()
137 rb_set_parent_color(parent, node, RB_RED); in __rb_insert()
138 augment_rotate(parent, node); in __rb_insert()
139 parent = node; in __rb_insert()
140 tmp = node->rb_right; in __rb_insert()
165 node = gparent; in __rb_insert()
166 parent = rb_parent(node); in __rb_insert()
167 rb_set_parent_color(node, parent, RB_RED); in __rb_insert()
172 if (node == tmp) { in __rb_insert()
174 parent->rb_left = tmp = node->rb_right; in __rb_insert()
175 node->rb_right = parent; in __rb_insert()
179 rb_set_parent_color(parent, node, RB_RED); in __rb_insert()
180 augment_rotate(parent, node); in __rb_insert()
181 parent = node; in __rb_insert()
182 tmp = node->rb_left; in __rb_insert()
205 struct rb_node *node = NULL, *sibling, *tmp1, *tmp2; in ____rb_erase_color() local
216 if (node != sibling) { /* node == parent->rb_left */ in ____rb_erase_color()
259 node = parent; in ____rb_erase_color()
260 parent = rb_parent(node); in ____rb_erase_color()
331 node = parent; in ____rb_erase_color()
332 parent = rb_parent(node); in ____rb_erase_color()
378 static inline void dummy_propagate(struct rb_node *node, struct rb_node *stop) {} in dummy_propagate() argument
386 void rb_insert_color(struct rb_node *node, struct rb_root *root) in rb_insert_color() argument
388 __rb_insert(node, root, dummy_rotate); in rb_insert_color()
392 void rb_erase(struct rb_node *node, struct rb_root *root) in rb_erase() argument
395 rebalance = __rb_erase_augmented(node, root, &dummy_callbacks); in rb_erase()
408 void __rb_insert_augmented(struct rb_node *node, struct rb_root *root, in __rb_insert_augmented() argument
411 __rb_insert(node, root, augment_rotate); in __rb_insert_augmented()
444 struct rb_node *rb_next(const struct rb_node *node) in rb_next() argument
448 if (RB_EMPTY_NODE(node)) in rb_next()
455 if (node->rb_right) { in rb_next()
456 node = node->rb_right; in rb_next()
457 while (node->rb_left) in rb_next()
458 node=node->rb_left; in rb_next()
459 return (struct rb_node *)node; in rb_next()
469 while ((parent = rb_parent(node)) && node == parent->rb_right) in rb_next()
470 node = parent; in rb_next()
476 struct rb_node *rb_prev(const struct rb_node *node) in rb_prev() argument
480 if (RB_EMPTY_NODE(node)) in rb_prev()
487 if (node->rb_left) { in rb_prev()
488 node = node->rb_left; in rb_prev()
489 while (node->rb_right) in rb_prev()
490 node=node->rb_right; in rb_prev()
491 return (struct rb_node *)node; in rb_prev()
498 while ((parent = rb_parent(node)) && node == parent->rb_left) in rb_prev()
499 node = parent; in rb_prev()
522 static struct rb_node *rb_left_deepest_node(const struct rb_node *node) in rb_left_deepest_node() argument
525 if (node->rb_left) in rb_left_deepest_node()
526 node = node->rb_left; in rb_left_deepest_node()
527 else if (node->rb_right) in rb_left_deepest_node()
528 node = node->rb_right; in rb_left_deepest_node()
530 return (struct rb_node *)node; in rb_left_deepest_node()
534 struct rb_node *rb_next_postorder(const struct rb_node *node) in rb_next_postorder() argument
537 if (!node) in rb_next_postorder()
539 parent = rb_parent(node); in rb_next_postorder()
542 if (parent && node == parent->rb_left && parent->rb_right) { in rb_next_postorder()