Lines Matching +full:lock +full:- +full:less

1 // SPDX-License-Identifier: GPL-2.0
25 long less_callback_ran = -1;
26 long removed_key = -1;
27 long first_data[2] = {-1, -1};
36 static bool less(struct bpf_rb_node *a, const struct bpf_rb_node *b) in less() function
45 return node_a->key < node_b->key; in less()
48 static long __add_three(struct bpf_rb_root *root, struct bpf_spin_lock *lock) in __add_three() argument
55 n->key = 5; in __add_three()
62 m->key = 1; in __add_three()
65 bpf_rbtree_add(&groot, &n->node, less); in __add_three()
66 bpf_rbtree_add(&groot, &m->node, less); in __add_three()
72 n->key = 3; in __add_three()
75 bpf_rbtree_add(&groot, &n->node, less); in __add_three()
101 n->key = 5; in rbtree_add_and_remove()
106 m->key = 3; in rbtree_add_and_remove()
109 bpf_rbtree_add(&groot, &n->node, less); in rbtree_add_and_remove()
110 bpf_rbtree_add(&groot, &m->node, less); in rbtree_add_and_remove()
111 res = bpf_rbtree_remove(&groot, &n->node); in rbtree_add_and_remove()
118 removed_key = n->key; in rbtree_add_and_remove()
136 long k1 = -1, k2 = -1, k3 = -1; in rbtree_add_and_remove_array()
144 nodes[i][j]->key = i * 2 + j; in rbtree_add_and_remove_array()
151 bpf_rbtree_add(&groot_array[i], &nodes[i][j]->node, less); in rbtree_add_and_remove_array()
153 bpf_rbtree_add(&groot_array_one[0], &nodes[2][j]->node, less); in rbtree_add_and_remove_array()
154 res1 = bpf_rbtree_remove(&groot_array[0], &nodes[0][0]->node); in rbtree_add_and_remove_array()
155 res2 = bpf_rbtree_remove(&groot_array[1], &nodes[1][0]->node); in rbtree_add_and_remove_array()
156 res3 = bpf_rbtree_remove(&groot_array_one[0], &nodes[2][0]->node); in rbtree_add_and_remove_array()
161 k1 = n->key; in rbtree_add_and_remove_array()
166 k2 = n->key; in rbtree_add_and_remove_array()
171 k3 = n->key; in rbtree_add_and_remove_array()
198 n->key = 3; in rbtree_first_and_remove()
199 n->data = 4; in rbtree_first_and_remove()
204 m->key = 5; in rbtree_first_and_remove()
205 m->data = 6; in rbtree_first_and_remove()
210 o->key = 1; in rbtree_first_and_remove()
211 o->data = 2; in rbtree_first_and_remove()
214 bpf_rbtree_add(&groot, &n->node, less); in rbtree_first_and_remove()
215 bpf_rbtree_add(&groot, &m->node, less); in rbtree_first_and_remove()
216 bpf_rbtree_add(&groot, &o->node, less); in rbtree_first_and_remove()
225 first_data[0] = o->data; in rbtree_first_and_remove()
227 res = bpf_rbtree_remove(&groot, &o->node); in rbtree_first_and_remove()
234 removed_key = o->key; in rbtree_first_and_remove()
245 first_data[1] = o->data; in rbtree_first_and_remove()
266 n->key = 41; in rbtree_api_release_aliasing()
267 n->data = 42; in rbtree_api_release_aliasing()
270 bpf_rbtree_add(&groot, &n->node, less); in rbtree_api_release_aliasing()
288 res = bpf_rbtree_remove(&groot, &m->node); in rbtree_api_release_aliasing()
290 * which is the same node non-owning ref o is pointing at. in rbtree_api_release_aliasing()
295 * invalidating non-owning refs to ensure that rbtree_remove couldn't in rbtree_api_release_aliasing()
297 * invalidate non-owning refs after remove. in rbtree_api_release_aliasing()
299 res2 = bpf_rbtree_remove(&groot, &o->node); in rbtree_api_release_aliasing()
305 first_data[0] = o->data; in rbtree_api_release_aliasing()
313 first_data[1] = m->data; in rbtree_api_release_aliasing()