linux-4.9.37/include/linux/rbtree.h
红黑树。
struct rb_node {
unsigned long __rb_parent_color; /* 节点颜色,低位为颜色标志位,高位为父节点指针 */
struct rb_node *rb_right; /* 右子节点 */
struct rb_node *rb_left; /* 左子节点 */
} __attribute__((aligned(sizeof(long))));
/* The alignment might seem pointless, but allegedly CRIS needs it */
struct rb_root {
struct rb_node *rb_node;
};
#define rb_parent(r) ((struct rb_node *)((r)->__rb_parent_color & ~3))