On Mon, Sep 18, 2023 at 5:26 AM Naga Harish K, S V
<s.v.naga.haris...@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Mattias Rönnblom <mattias.ronnb...@ericsson.com>
> > Sent: Monday, September 4, 2023 6:33 PM
> > To: dev@dpdk.org
> > Cc: Jerin Jacob <jer...@marvell.com>; techbo...@dpdk.org; Van Haaren,
> > Harry <harry.van.haa...@intel.com>; hof...@lysator.liu.se; Nilsson, Peter
> > <peter.j.nils...@ericsson.com>; Heng Wang <heng.w...@ericsson.com>;
> > Naga Harish K, S V <s.v.naga.haris...@intel.com>; Pavan Nikhilesh
> > <pbhagavat...@marvell.com>; Gujjar, Abhinandan S
> > <abhinandan.guj...@intel.com>; Carrillo, Erik G <erik.g.carri...@intel.com>;
> > Shijith Thotton <sthot...@marvell.com>; Hemant Agrawal
> > <hemant.agra...@nxp.com>; Sachin Saxena <sachin.sax...@oss.nxp.com>;
> > Liang Ma <lian...@liangbit.com>; Mccarthy, Peter
> > <peter.mccar...@intel.com>; Yan, Zhirun <zhirun....@intel.com>;
> > mattias.ronnblom <mattias.ronnb...@ericsson.com>
> > Subject: [PATCH v3 1/3] lib: introduce dispatcher library
> >
> > The purpose of the dispatcher library is to help reduce coupling in an
> > Eventdev-based DPDK application.
> >
> > In addition, the dispatcher also provides a convenient and flexible way for 
> > the
> > application to use service cores for application-level processing.
> >
> > Signed-off-by: Mattias Rönnblom <mattias.ronnb...@ericsson.com>
> > Tested-by: Peter Nilsson <peter.j.nils...@ericsson.com>
> > Reviewed-by: Heng Wang <heng.w...@ericsson.com>
> >
> > --
> >
> > PATCH v3:
> >  o To underline its optional character and since it does not provide
> >    hardware abstraction, the event dispatcher is now a separate
> >    library.
> >  o Change name from rte_event_dispatcher -> rte_dispatcher, to make it
> >    shorter and to avoid the rte_event_* namespace.
> >
>
> Rte_dispatcher is basically dispatching events but it feels like the name 
> does not convey that.
> Also, it is like any other adapter service that can reside within the 
> eventdev directory.
>
> I can see some discussion in previous threads related to the placement of the 
> dispatcher library.
>
> It is an optional eventdev application service, not enforcing this 
> programming model to the application.
> The documentation may need to be updated and mention that this is optional.
>
> If any hardware comes up with the dispatcher feature, then this library may 
> need to be moved inside eventdev library later.

I would like to follow YAGNI principle in eventdev library.
Even if a HW comes(I assume not), the interface should not look like that.
None of the HW will be comparing a bunch of function pointers and call
the callback.
So interface will look different for HW enablement. We need to model
the API based on HW for device libraries and SW libraries based on CPU
modeling dynamics.

Also, There is no need to tie up this library/framework only event
]dev, other than using rte_event_dequeue()  to pull packet it has no
eventdev significance.
The library scope if just pull the packet from a source and compare
with in N number of matches and call respective process callback.
The dispatcher source can rte_ethdev_rx_burst or ring.

Reply via email to