Lines Matching defs:graph

71  * Structure that holds the graph scheduling workqueue node stream.
83 * Structure that holds the graph node data.
86 STAILQ_ENTRY(graph_node) next; /**< Next graph node in the list. */
95 * Structure that holds graph internal data.
97 struct graph {
98 STAILQ_ENTRY(graph) next;
101 /**< Name of the graph. */
103 /**< Memzone to store graph data. */
105 /**< Node memory start offset in graph reel. */
107 /**< Node xstats memory start offset in graph reel. */
109 /**< Number of source nodes in a graph. */
110 struct rte_graph *graph;
111 /**< Pointer to graph data. */
115 /**< Circular buffer start offset in graph reel. */
121 /**< Parent graph identifier. */
123 /**< Lcore identifier where the graph prefer to run on. Used for mcore dispatch model. */
125 /**< Memory size of the graph. */
133 /**< Nodes in a graph. */
136 /* Node and graph common functions */
140 * Naming a cloned graph or node by appending a string to base name.
202 STAILQ_HEAD(graph_head, graph);
207 * Get the head of the graph list.
210 * Pointer to the graph head.
221 * Take a lock on the graph internal spin lock.
229 * Release a lock on the graph internal spin lock.
238 * Run a BFS(Breadth First Search) on the graph marking all
239 * the graph nodes as visited.
241 * @param graph
242 * Pointer to the internal graph object.
244 * Pointer to the starting graph node.
250 int graph_bfs(struct graph *graph, struct graph_node *start);
255 * Check if there is an isolated node in the given graph.
257 * @param graph
258 * Pointer to the internal graph object.
264 int graph_has_isolated_node(struct graph *graph);
269 * Check whether a node in the graph has next_node to a source node.
271 * @param graph
272 * Pointer to the internal graph object.
278 int graph_node_has_edge_to_src_node(struct graph *graph);
283 * Checks whether node in the graph has a edge to itself i.e. forms a
286 * @param graph
287 * Pointer to the internal graph object.
293 int graph_node_has_loop_edge(struct graph *graph);
298 * Get the count of source nodes in the graph.
300 * @param graph
301 * Pointer to the internal graph object.
306 rte_node_t graph_src_nodes_count(struct graph *graph);
311 * Get the count of total number of nodes in the graph.
313 * @param graph
314 * Pointer to the internal graph object.
319 rte_node_t graph_nodes_count(struct graph *graph);
324 * Clear the visited flag of all the nodes in the graph.
326 * @param graph
327 * Pointer to the internal graph object.
329 void graph_mark_nodes_as_not_visited(struct graph *graph);
331 /* Fast path graph memory populate unctions */
336 * Create fast-path memory for the graph and nodes.
338 * @param graph
339 * Pointer to the internal graph object.
343 * - -ENOMEM: Not enough for graph and nodes.
346 int graph_fp_mem_create(struct graph *graph);
351 * Free fast-path memory used by graph and nodes.
353 * @param graph
354 * Pointer to the internal graph object.
360 int graph_fp_mem_destroy(struct graph *graph);
366 * Get graph node object from node id.
368 * @param graph
376 struct rte_node *graph_node_id_to_ptr(const struct rte_graph *graph,
382 * Get graph node object from node name.
384 * @param graph
392 struct rte_node *graph_node_name_to_ptr(const struct rte_graph *graph,
399 * Dump internal graph object data.
404 * Pointer to the internal graph object.
406 void graph_dump(FILE *f, struct graph *g);
423 * Create the graph schedule work queue for mcore dispatch model.
424 * All cloned graphs attached to the parent graph MUST be destroyed together
428 * The graph object
430 * The parent graph object which holds the run-queue head.
432 * Graph parameter, includes model-specific parameters in this graph.
438 int graph_sched_wq_create(struct graph *_graph, struct graph *_parent_graph,
444 * Destroy the graph schedule work queue for mcore dispatch model.
447 * The graph object
449 void graph_sched_wq_destroy(struct graph *_graph);