Lines Matching refs:rn

50 static u32 rn_size(struct range_node *rn)  in rn_size()  argument
52 return rn->rn_last - rn->rn_start + 1; in rn_size()
62 struct range_node *rn = rb_to_range_node(rb); in __find_range() local
64 if (len <= rn_size(rn)) { in __find_range()
65 best = rn; in __find_range()
77 struct range_node *rn; in range_tree_find() local
79 rn = __find_range(rt, len); in range_tree_find()
80 if (!rn) in range_tree_find()
82 return rn->rn_start; in range_tree_find()
86 static inline void __range_size_insert(struct range_node *rn, in __range_size_insert() argument
90 u64 size = rn_size(rn); in __range_size_insert()
103 rb_link_node(&rn->rb_range_size, rb, link); in __range_size_insert()
104 rb_insert_color_cached(&rn->rb_range_size, root, leftmost); in __range_size_insert()
116 range_it_insert(struct range_node *rn, struct range_tree *rt) in INTERVAL_TREE_DEFINE()
118 __range_size_insert(rn, &rt->range_size_root); in INTERVAL_TREE_DEFINE()
119 __range_it_insert(rn, &rt->it_root); in INTERVAL_TREE_DEFINE()
123 range_it_remove(struct range_node *rn, struct range_tree *rt) in range_it_remove() argument
125 rb_erase_cached(&rn->rb_range_size, &rt->range_size_root); in range_it_remove()
126 RB_CLEAR_NODE(&rn->rb_range_size); in range_it_remove()
127 __range_it_remove(rn, &rt->it_root); in range_it_remove()
141 struct range_node *rn; in range_tree_clear() local
143 while ((rn = range_it_iter_first(rt, start, last))) { in range_tree_clear()
144 if (rn->rn_start < start && rn->rn_last > last) { in range_tree_clear()
145 u32 old_last = rn->rn_last; in range_tree_clear()
148 range_it_remove(rn, rt); in range_tree_clear()
149 rn->rn_last = start - 1; in range_tree_clear()
150 range_it_insert(rn, rt); in range_tree_clear()
161 } else if (rn->rn_start < start) { in range_tree_clear()
163 range_it_remove(rn, rt); in range_tree_clear()
164 rn->rn_last = start - 1; in range_tree_clear()
165 range_it_insert(rn, rt); in range_tree_clear()
166 } else if (rn->rn_last > last) { in range_tree_clear()
168 range_it_remove(rn, rt); in range_tree_clear()
169 rn->rn_start = last + 1; in range_tree_clear()
170 range_it_insert(rn, rt); in range_tree_clear()
174 range_it_remove(rn, rt); in range_tree_clear()
176 bpf_mem_free(&bpf_global_ma, rn); in range_tree_clear()
258 struct range_node *rn; in range_tree_destroy() local
260 while ((rn = range_it_iter_first(rt, 0, -1U))) { in range_tree_destroy()
261 range_it_remove(rn, rt); in range_tree_destroy()
262 bpf_mem_free(&bpf_global_ma, rn); in range_tree_destroy()