[PATCH v9 15/17] examples/l3fwd-graph: introduce multicore dispatch worker model

Yan, Zhirun zhirun.yan at intel.com
Thu Jun 8 04:58:17 CEST 2023



> -----Original Message-----
> From: Jerin Jacob <jerinjacobk at gmail.com>
> Sent: Wednesday, June 7, 2023 9:58 PM
> To: Yan, Zhirun <zhirun.yan at intel.com>
> Cc: dev at dpdk.org; jerinj at marvell.com; kirankumark at marvell.com;
> ndabilpuram at marvell.com; stephen at networkplumber.org;
> pbhagavatula at marvell.com; Liang, Cunming <cunming.liang at intel.com>; Wang,
> Haiyue <haiyue.wang at intel.com>; mattias.ronnblom
> <mattias.ronnblom at ericsson.com>
> Subject: Re: [PATCH v9 15/17] examples/l3fwd-graph: introduce multicore
> dispatch worker model
> 
> On Wed, Jun 7, 2023 at 5:56 PM Yan, Zhirun <zhirun.yan at intel.com> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Jerin Jacob <jerinjacobk at gmail.com>
> > > Sent: Wednesday, June 7, 2023 4:27 PM
> > > To: Yan, Zhirun <zhirun.yan at intel.com>
> > > Cc: dev at dpdk.org; jerinj at marvell.com; kirankumark at marvell.com;
> > > ndabilpuram at marvell.com; stephen at networkplumber.org;
> > > pbhagavatula at marvell.com; Liang, Cunming <cunming.liang at intel.com>;
> > > Wang, Haiyue <haiyue.wang at intel.com>; mattias.ronnblom
> > > <mattias.ronnblom at ericsson.com>
> > > Subject: Re: [PATCH v9 15/17] examples/l3fwd-graph: introduce
> > > multicore dispatch worker model
> > >
> > > On Wed, Jun 7, 2023 at 9:30 AM Zhirun Yan <zhirun.yan at intel.com> wrote:
> > > >
> > > > Add new parameter "model" to choose mcore dispatch or rtc model.
> > > > And in dispatch model, the node will affinity to worker core successively.
> > > >
> > > > Note:
> > > > RTE_GRAPH_MODEL_SELECT is set to GRAPH_MODEL_RTC by default.
> Must
> > > set
> > > > model the same as RTE_GRAPH_MODEL_SELECT If set it as rtc or mcore
> > > > dispatch explicitly. GRAPH_MODEL_MCORE_RUNTIME_SELECT means it
> > > > could choose by model in runtime.
> > >
> > > Now no GRAPH_MODEL_MCORE_RUNTIME_SELECT. Right? it same as
> > > !RTE_GRAPH_MODEL_SELECT
> >
> > GRAPH_MODEL_MCORE_RUNTIME_SELECT is defined in app. And it will hit
> > rte_graph_walk() "else" case to get model and select
> walk_rtc()/walk_dispatch().
> 
> Got it. But I think, You can treat !RTE_GRAPH_MODEL_SELECT as
> GRAPH_MODEL_MCORE_RUNTIME_SELECT without introducing new one by
> ifndef  RTE_GRAPH_MODEL_SELECT.  No strong opinion.

I agree with no GRAPH_MODEL_MCORE_RUNTIME_SELECT.

> 
> >
> > It is not the same as !RTE_GRAPH_MODEL_SELECT.
> > GRAPH_MODEL_MCORE_RUNTIME_SELECT means to select in runtime.
> > !RTE_GRAPH_MODEL_SELECT means to use the default rtc_walk(), it will
> > hit the first case in
> 
> #define RTE_GRAPH_MODEL_SELECT RTE_GRAPH_MODEL_RTC -> means
> rtc_walk() #define RTE_GRAPH_MODEL_SELECT
> RTE_GRAPH_MODEL_MCORE_DISPATCH -> means
> mcore_dispatch_walk()
> #undef RTE_GRAPH_MODEL_SELECT or not defined - it reads graph->model to
> pick the model Could you tell any issue with it?

For the last case, if not defined or defined a wrang model type, it will read graph-model.
And app should check the model type.

Valid RTE_GRAPH_MODEL_SELECT = (not define or RTC or DISPATCH)
Valid cmdline param model = (rtc or dispatch) 
or not have cmdline model, set model to DEFAULT_RTC


> 
> > rte_graph_walk() in patch
> > 13(http://patchwork.dpdk.org/project/dpdk/patch/20230607035144.1214492
> > -14-zhirun.yan at intel.com/)
> >
> > Should I put it with other model definition?
> > If yes, I prefer to put it the first one in patch 04, like:
> >
> > +#define GRAPH_MODEL_MCORE_RUNTIME_SELECT 0
> > #define RTE_GRAPH_MODEL_RTC 1
> > #define RTE_GRAPH_MODEL_MCORE_DISPATCH 2 #define
> > RTE_GRAPH_MODEL_DEFAULT RTE_GRAPH_MODEL_RTC
> >


More information about the dev mailing list