1a2bc0584SZhirun Yan /* SPDX-License-Identifier: BSD-3-Clause 2a2bc0584SZhirun Yan * Copyright(C) 2020 Marvell International Ltd. 3a2bc0584SZhirun Yan * Copyright(C) 2023 Intel Corporation 4a2bc0584SZhirun Yan */ 5a2bc0584SZhirun Yan 6a2bc0584SZhirun Yan #ifndef _RTE_GRAPH_WORKER_H_ 7a2bc0584SZhirun Yan #define _RTE_GRAPH_WORKER_H_ 8a2bc0584SZhirun Yan 9*719834a6SMattias Rönnblom #include "rte_graph_model_rtc.h" 10*719834a6SMattias Rönnblom #include "rte_graph_model_mcore_dispatch.h" 11*719834a6SMattias Rönnblom 12a2bc0584SZhirun Yan #ifdef __cplusplus 13a2bc0584SZhirun Yan extern "C" { 14a2bc0584SZhirun Yan #endif 15a2bc0584SZhirun Yan 16a2bc0584SZhirun Yan /** 17a2bc0584SZhirun Yan * Perform graph walk on the circular buffer and invoke the process function 18a2bc0584SZhirun Yan * of the nodes and collect the stats. 19a2bc0584SZhirun Yan * 20a2bc0584SZhirun Yan * @param graph 21a2bc0584SZhirun Yan * Graph pointer returned from rte_graph_lookup function. 22a2bc0584SZhirun Yan * 23a2bc0584SZhirun Yan * @see rte_graph_lookup() 24a2bc0584SZhirun Yan */ 25a2bc0584SZhirun Yan static inline void 26a2bc0584SZhirun Yan rte_graph_walk(struct rte_graph *graph) 27a2bc0584SZhirun Yan { 288b78671dSZhirun Yan #if defined(RTE_GRAPH_MODEL_SELECT) && (RTE_GRAPH_MODEL_SELECT == RTE_GRAPH_MODEL_RTC) 29a2bc0584SZhirun Yan rte_graph_walk_rtc(graph); 308b78671dSZhirun Yan #elif defined(RTE_GRAPH_MODEL_SELECT) && (RTE_GRAPH_MODEL_SELECT == RTE_GRAPH_MODEL_MCORE_DISPATCH) 318b78671dSZhirun Yan rte_graph_walk_mcore_dispatch(graph); 328b78671dSZhirun Yan #else 338b78671dSZhirun Yan switch (rte_graph_worker_model_no_check_get(graph)) { 348b78671dSZhirun Yan case RTE_GRAPH_MODEL_MCORE_DISPATCH: 358b78671dSZhirun Yan rte_graph_walk_mcore_dispatch(graph); 368b78671dSZhirun Yan break; 378b78671dSZhirun Yan default: 388b78671dSZhirun Yan rte_graph_walk_rtc(graph); 398b78671dSZhirun Yan } 408b78671dSZhirun Yan #endif 41a2bc0584SZhirun Yan } 42a2bc0584SZhirun Yan 43a2bc0584SZhirun Yan #ifdef __cplusplus 44a2bc0584SZhirun Yan } 45a2bc0584SZhirun Yan #endif 46a2bc0584SZhirun Yan 47a2bc0584SZhirun Yan #endif /* _RTE_GRAPH_WORKER_H_ */ 48