Lines Matching refs:leaf
123 struct posix_msg_tree_node *leaf; in msg_insert() local
128 leaf = rb_entry(parent, struct posix_msg_tree_node, rb_node); in msg_insert()
130 if (likely(leaf->priority == msg->m_type)) in msg_insert()
132 else if (msg->m_type < leaf->priority) in msg_insert()
138 leaf = info->node_cache; in msg_insert()
141 leaf = kmalloc(sizeof(*leaf), GFP_ATOMIC); in msg_insert()
142 if (!leaf) in msg_insert()
144 INIT_LIST_HEAD(&leaf->msg_list); in msg_insert()
146 leaf->priority = msg->m_type; in msg_insert()
147 rb_link_node(&leaf->rb_node, parent, p); in msg_insert()
148 rb_insert_color(&leaf->rb_node, &info->msg_tree); in msg_insert()
152 list_add_tail(&msg->m_list, &leaf->msg_list); in msg_insert()
159 struct posix_msg_tree_node *leaf; in msg_get() local
182 leaf = rb_entry(parent, struct posix_msg_tree_node, rb_node); in msg_get()
183 if (unlikely(list_empty(&leaf->msg_list))) { in msg_get()
187 rb_erase(&leaf->rb_node, &info->msg_tree); in msg_get()
189 kfree(leaf); in msg_get()
191 info->node_cache = leaf; in msg_get()
195 msg = list_first_entry(&leaf->msg_list, in msg_get()
198 if (list_empty(&leaf->msg_list)) { in msg_get()
199 rb_erase(&leaf->rb_node, &info->msg_tree); in msg_get()
201 kfree(leaf); in msg_get()
203 info->node_cache = leaf; in msg_get()