Lines Matching refs:sibling

205 	struct rb_node *node = NULL, *sibling, *tmp1, *tmp2;
215 sibling = parent->rb_right;
216 if (node != sibling) { /* node == parent->rb_left */
217 if (rb_is_red(sibling)) {
227 parent->rb_right = tmp1 = sibling->rb_left;
228 sibling->rb_left = parent;
230 __rb_rotate_set_parents(parent, sibling, root,
232 augment_rotate(parent, sibling);
233 sibling = tmp1;
235 tmp1 = sibling->rb_right;
237 tmp2 = sibling->rb_left;
240 * Case 2 - sibling color flip
254 rb_set_parent_color(sibling, parent,
267 * Case 3 - right rotate at sibling
278 sibling->rb_left = tmp1 = tmp2->rb_right;
279 tmp2->rb_right = sibling;
282 rb_set_parent_color(tmp1, sibling,
284 augment_rotate(sibling, tmp2);
285 tmp1 = sibling;
286 sibling = tmp2;
300 parent->rb_right = tmp2 = sibling->rb_left;
301 sibling->rb_left = parent;
302 rb_set_parent_color(tmp1, sibling, RB_BLACK);
305 __rb_rotate_set_parents(parent, sibling, root,
307 augment_rotate(parent, sibling);
310 sibling = parent->rb_left;
311 if (rb_is_red(sibling)) {
313 parent->rb_left = tmp1 = sibling->rb_right;
314 sibling->rb_right = parent;
316 __rb_rotate_set_parents(parent, sibling, root,
318 augment_rotate(parent, sibling);
319 sibling = tmp1;
321 tmp1 = sibling->rb_left;
323 tmp2 = sibling->rb_right;
325 /* Case 2 - sibling color flip */
326 rb_set_parent_color(sibling, parent,
338 /* Case 3 - right rotate at sibling */
339 sibling->rb_right = tmp1 = tmp2->rb_left;
340 tmp2->rb_left = sibling;
343 rb_set_parent_color(tmp1, sibling,
345 augment_rotate(sibling, tmp2);
346 tmp1 = sibling;
347 sibling = tmp2;
350 parent->rb_left = tmp2 = sibling->rb_right;
351 sibling->rb_right = parent;
352 rb_set_parent_color(tmp1, sibling, RB_BLACK);
355 __rb_rotate_set_parents(parent, sibling, root,
357 augment_rotate(parent, sibling);