[PATCH v9 13/17] graph: enable graph multicore dispatch scheduler model
Jerin Jacob
jerinjacobk at gmail.com
Wed Jun 7 10:15:28 CEST 2023
On Wed, Jun 7, 2023 at 9:30 AM Zhirun Yan <zhirun.yan at intel.com> wrote:
>
> This patch enables to chose new scheduler model. Must define
> RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h
> to enable specific model choosing.
>
> Signed-off-by: Haiyue Wang <haiyue.wang at intel.com>
> Signed-off-by: Cunming Liang <cunming.liang at intel.com>
> Signed-off-by: Zhirun Yan <zhirun.yan at intel.com>
> ---
> lib/graph/rte_graph_worker.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> rte_graph_walk(struct rte_graph *graph)
> {
> +#if !defined(RTE_GRAPH_MODEL_SELECT) || RTE_GRAPH_MODEL_SELECT == RTE_GRAPH_MODEL_RTC
Is nt defined instead of !defined?
Use bracket around RTE_GRAPH_MODEL_SELECT == RTE_GRAPH_MODEL_RTC.
> rte_graph_walk_rtc(graph);
> +#elif defined(RTE_GRAPH_MODEL_SELECT) && RTE_GRAPH_MODEL_SELECT == RTE_GRAPH_MODEL_MCORE_DISPATCH
Use bracket around RTE_GRAPH_MODEL_SELECT ==
> + rte_graph_walk_mcore_dispatch(graph);
> +#else
> + int model = rte_graph_worker_model_get(graph);
Introduce rte_graph_worker_model_no_check_get() as commented earlier.
> +
> + if (model == RTE_GRAPH_MODEL_RTC)
> + rte_graph_walk_rtc(graph);
> + else if (model == RTE_GRAPH_MODEL_MCORE_DISPATCH)
> + rte_graph_walk_mcore_dispatch(graph);
I think, switch case better to support new model in future. Please
check the performance before changing.
i.e
switch ( rte_graph_worker_model_no_check_get())
{
case RTE_GRAPH_MODEL_MCORE_DISPATCH:
rte_graph_walk_mcore_dispatch(graph)
break;
default:
rte_graph_walk_rtc(graph);
}
More information about the dev
mailing list