Lines Matching defs:graph

11  * This API allows a worker thread to walk over a graph and nodes to create,
32 /* When adding a new graph model entry, update rte_graph_model_is_valid() implementation. */
36 #define RTE_GRAPH_MODEL_DEFAULT RTE_GRAPH_MODEL_RTC /**< Default graph model. */
41 * Singly-linked list head for graph schedule run-queue.
48 * Data structure to hold graph data.
55 rte_node_t nb_nodes; /**< Number of nodes in the graph. */
58 uint8_t model; /**< graph model */
68 unsigned int lcore_id; /**< The graph running Lcore. */
77 char name[RTE_GRAPH_NAMESIZE]; /**< Name of the graph. */
132 rte_graph_off_t off; /**< Offset of node in the graph reel. */
158 * @param graph
159 * Pointer to the graph object.
163 void __rte_node_stream_alloc(struct rte_graph *graph, struct rte_node *node);
172 * @param graph
173 * Pointer to the graph object.
179 void __rte_node_stream_alloc_size(struct rte_graph *graph,
187 * Enqueue a given node to the tail of the graph reel.
189 * @param graph
195 __rte_node_process(struct rte_graph *graph, struct rte_node *node)
207 rc = node->process(graph, node, objs, node->idx);
212 node->process(graph, node, objs, node->idx);
220 * Enqueue a given node to the tail of the graph reel.
222 * @param graph
228 __rte_node_enqueue_tail_update(struct rte_graph *graph, struct rte_node *node)
232 tail = graph->tail;
233 graph->cir_start[tail++] = node->off;
234 graph->tail = tail & graph->cir_mask;
242 * Updates the node to tail of graph reel and resizes the number of objects
245 * @param graph
246 * Pointer to the graph object.
255 __rte_node_enqueue_prologue(struct rte_graph *graph, struct rte_node *node,
261 __rte_node_enqueue_tail_update(graph, node);
264 __rte_node_stream_alloc_size(graph, node, node->size + space);
295 * @param graph
307 rte_node_enqueue(struct rte_graph *graph, struct rte_node *node,
313 __rte_node_enqueue_prologue(graph, node, idx, nb_objs);
323 * @param graph
333 rte_node_enqueue_x1(struct rte_graph *graph, struct rte_node *node,
339 __rte_node_enqueue_prologue(graph, node, idx, 1);
350 * @param graph
362 rte_node_enqueue_x2(struct rte_graph *graph, struct rte_node *node,
368 __rte_node_enqueue_prologue(graph, node, idx, 2);
380 * @param graph
396 rte_node_enqueue_x4(struct rte_graph *graph, struct rte_node *node,
403 __rte_node_enqueue_prologue(graph, node, idx, 4);
417 * @param graph
429 rte_node_enqueue_next(struct rte_graph *graph, struct rte_node *node,
435 rte_node_enqueue_x1(graph, node, nexts[i], objs[i]);
443 * @param graph
458 rte_node_next_stream_get(struct rte_graph *graph, struct rte_node *node,
466 __rte_node_stream_alloc_size(graph, node, node->size + nb_objs);
475 * @param graph
488 rte_node_next_stream_put(struct rte_graph *graph, struct rte_node *node,
496 __rte_node_enqueue_tail_update(graph, node);
508 * @param graph
516 rte_node_next_stream_move(struct rte_graph *graph, struct rte_node *src,
530 __rte_node_enqueue_tail_update(graph, dst);
532 rte_node_enqueue(graph, src, next, src->objs, src->idx);
543 * True if graph model is valid, false otherwise.
550 * before graph running. It will set all graphs the same model.
553 * Name of the graph worker model.
561 * Get the graph worker model
563 * @note All graph will use the same model and this function will get model from the first one.
566 * @param graph
572 uint8_t rte_graph_worker_model_get(struct rte_graph *graph);
575 * Get the graph worker model without check
577 * @note All graph will use the same model and this function will get model from the first one.
580 * @param graph
587 uint8_t rte_graph_worker_model_no_check_get(struct rte_graph *graph)
589 return graph->model;