Lines Matching refs:interval
58 struct usnic_uiom_interval_node *interval = kzalloc(sizeof(*interval), in usnic_uiom_interval_node_alloc() local
60 if (!interval) in usnic_uiom_interval_node_alloc()
63 interval->start = start; in usnic_uiom_interval_node_alloc()
64 interval->last = last; in usnic_uiom_interval_node_alloc()
65 interval->flags = flags; in usnic_uiom_interval_node_alloc()
66 interval->ref_cnt = ref_cnt; in usnic_uiom_interval_node_alloc()
68 return interval; in usnic_uiom_interval_node_alloc()
109 struct usnic_uiom_interval_node *interval, *tmp; in usnic_uiom_get_intervals_diff() local
119 list_for_each_entry(interval, &intersection_set, link) { in usnic_uiom_get_intervals_diff()
120 if (pivot < interval->start) { in usnic_uiom_get_intervals_diff()
121 MAKE_NODE_AND_APPEND(tmp, pivot, interval->start - 1, in usnic_uiom_get_intervals_diff()
124 pivot = interval->start; in usnic_uiom_get_intervals_diff()
132 if (pivot > interval->last) { in usnic_uiom_get_intervals_diff()
134 } else if (pivot <= interval->last && in usnic_uiom_get_intervals_diff()
135 FLAGS_EQUAL(interval->flags, flags, in usnic_uiom_get_intervals_diff()
137 pivot = interval->last + 1; in usnic_uiom_get_intervals_diff()
148 list_for_each_entry_safe(interval, tmp, diff_set, link) { in usnic_uiom_get_intervals_diff()
149 list_del(&interval->link); in usnic_uiom_get_intervals_diff()
150 kfree(interval); in usnic_uiom_get_intervals_diff()
158 struct usnic_uiom_interval_node *interval, *tmp; in usnic_uiom_put_interval_set() local
159 list_for_each_entry_safe(interval, tmp, intervals, link) in usnic_uiom_put_interval_set()
160 kfree(interval); in usnic_uiom_put_interval_set()
166 struct usnic_uiom_interval_node *interval, *tmp; in usnic_uiom_insert_interval() local
177 list_for_each_entry(interval, &intersection_set, link) { in usnic_uiom_insert_interval()
182 istart = interval->start; in usnic_uiom_insert_interval()
183 ilast = interval->last; in usnic_uiom_insert_interval()
184 iref_cnt = interval->ref_cnt; in usnic_uiom_insert_interval()
185 iflags = interval->flags; in usnic_uiom_insert_interval()
217 list_for_each_entry_safe(interval, tmp, &intersection_set, link) { in usnic_uiom_insert_interval()
218 usnic_uiom_interval_tree_remove(interval, root); in usnic_uiom_insert_interval()
219 kfree(interval); in usnic_uiom_insert_interval()
222 list_for_each_entry(interval, &to_add, link) in usnic_uiom_insert_interval()
223 usnic_uiom_interval_tree_insert(interval, root); in usnic_uiom_insert_interval()
228 list_for_each_entry_safe(interval, tmp, &to_add, link) in usnic_uiom_insert_interval()
229 kfree(interval); in usnic_uiom_insert_interval()
237 struct usnic_uiom_interval_node *interval; in usnic_uiom_remove_interval() local
239 for (interval = usnic_uiom_interval_tree_iter_first(root, start, last); in usnic_uiom_remove_interval()
240 interval; in usnic_uiom_remove_interval()
241 interval = usnic_uiom_interval_tree_iter_next(interval, in usnic_uiom_remove_interval()
244 if (--interval->ref_cnt == 0) in usnic_uiom_remove_interval()
245 list_add_tail(&interval->link, removed); in usnic_uiom_remove_interval()
248 list_for_each_entry(interval, removed, link) in usnic_uiom_remove_interval()
249 usnic_uiom_interval_tree_remove(interval, root); in usnic_uiom_remove_interval()