Lines Matching refs:edge

83 	struct lockdep_edge *edge = NULL;  in lockdep_add_edge()  local
85 STAILQ_FOREACH(edge, &from->edges, link) in lockdep_add_edge()
86 if (edge->to == to) in lockdep_add_edge()
89 edge = calloc(1, sizeof(*edge)); in lockdep_add_edge()
90 if (!edge) in lockdep_add_edge()
92 edge->to = to; in lockdep_add_edge()
93 edge->call_stack_from = dup_call_stack(call_stack_from); in lockdep_add_edge()
94 edge->call_stack_to = dup_call_stack(call_stack_to); in lockdep_add_edge()
95 edge->thread_id = thread_id; in lockdep_add_edge()
96 STAILQ_INSERT_TAIL(&from->edges, edge, link); in lockdep_add_edge()
258 struct lockdep_edge *edge = NULL; in lockdep_find_edge() local
262 STAILQ_FOREACH(edge, &node->edges, link) in lockdep_find_edge()
263 if (edge->to->lock_id == to) in lockdep_find_edge()
264 return edge; in lockdep_find_edge()
269 struct lockdep_edge *edge) in lockdep_print_edge_info() argument
271 uintptr_t __maybe_unused to = edge->to->lock_id; in lockdep_print_edge_info()
281 edge->thread_id, to, at_msg); in lockdep_print_edge_info()
282 lockdep_print_call_stack(edge->call_stack_to); in lockdep_print_edge_info()
285 lockdep_print_call_stack(edge->call_stack_from); in lockdep_print_edge_info()
295 struct lockdep_edge *edge = NULL; in lockdep_print_cycle_info() local
311 edge = lockdep_find_edge(graph, from, to); in lockdep_print_cycle_info()
312 lockdep_print_edge_info(from, edge); in lockdep_print_cycle_info()
319 edge = lockdep_find_edge(graph, from, to); in lockdep_print_cycle_info()
320 lockdep_print_edge_info(from, edge); in lockdep_print_cycle_info()
420 static void lockdep_free_edge(struct lockdep_edge *edge) in lockdep_free_edge() argument
422 free(edge->call_stack_from); in lockdep_free_edge()
423 free(edge->call_stack_to); in lockdep_free_edge()
424 free(edge); in lockdep_free_edge()
429 struct lockdep_edge *edge = NULL; in lockdep_node_delete() local
432 STAILQ_FOREACH_SAFE(edge, &node->edges, link, next) in lockdep_node_delete()
433 lockdep_free_edge(edge); in lockdep_node_delete()
463 struct lockdep_edge *edge = NULL; in lockdep_node_destroy() local
474 edge = STAILQ_FIRST(&from->edges); in lockdep_node_destroy()
475 while (edge && edge->to == node) { in lockdep_node_destroy()
477 lockdep_free_edge(edge); in lockdep_node_destroy()
478 edge = STAILQ_FIRST(&from->edges); in lockdep_node_destroy()
481 if (!edge) in lockdep_node_destroy()
484 next = STAILQ_NEXT(edge, link); in lockdep_node_destroy()
487 STAILQ_REMOVE_AFTER(&from->edges, edge, link); in lockdep_node_destroy()
490 edge = next; in lockdep_node_destroy()
492 next = STAILQ_NEXT(edge, link); in lockdep_node_destroy()
496 STAILQ_FOREACH_SAFE(edge, &node->edges, link, next) in lockdep_node_destroy()
497 lockdep_free_edge(edge); in lockdep_node_destroy()