Lines Matching refs:node
39 void timerqueue_add(struct timerqueue_head *head, struct timerqueue_node *node) in timerqueue_add() argument
46 WARN_ON_ONCE(!RB_EMPTY_NODE(&node->node)); in timerqueue_add()
50 ptr = rb_entry(parent, struct timerqueue_node, node); in timerqueue_add()
51 if (node->expires.tv64 < ptr->expires.tv64) in timerqueue_add()
56 rb_link_node(&node->node, parent, p); in timerqueue_add()
57 rb_insert_color(&node->node, &head->head); in timerqueue_add()
59 if (!head->next || node->expires.tv64 < head->next->expires.tv64) in timerqueue_add()
60 head->next = node; in timerqueue_add()
72 void timerqueue_del(struct timerqueue_head *head, struct timerqueue_node *node) in timerqueue_del() argument
74 WARN_ON_ONCE(RB_EMPTY_NODE(&node->node)); in timerqueue_del()
77 if (head->next == node) { in timerqueue_del()
78 struct rb_node *rbn = rb_next(&node->node); in timerqueue_del()
81 rb_entry(rbn, struct timerqueue_node, node) : NULL; in timerqueue_del()
83 rb_erase(&node->node, &head->head); in timerqueue_del()
84 RB_CLEAR_NODE(&node->node); in timerqueue_del()
97 struct timerqueue_node *timerqueue_iterate_next(struct timerqueue_node *node) in timerqueue_iterate_next() argument
101 if (!node) in timerqueue_iterate_next()
103 next = rb_next(&node->node); in timerqueue_iterate_next()
106 return container_of(next, struct timerqueue_node, node); in timerqueue_iterate_next()