[dpdk-dev] [PATCH 2/5] eventdev: introduce specialized enqueue new op variant
Van Haaren, Harry
harry.van.haaren at intel.com
Fri Jun 30 11:14:22 CEST 2017
> From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com]
> Sent: Friday, June 30, 2017 10:12 AM
> To: Van Haaren, Harry <harry.van.haaren at intel.com>
> Cc: dev at dpdk.org; Richardson, Bruce <bruce.richardson at intel.com>; hemant.agrawal at nxp.com;
> Eads, Gage <gage.eads at intel.com>; nipun.gupta at nxp.com; Vangati, Narender
> <narender.vangati at intel.com>; Rao, Nikhil <nikhil.rao at intel.com>
> Subject: Re: [dpdk-dev] [PATCH 2/5] eventdev: introduce specialized enqueue new op variant
>
> -----Original Message-----
> > Date: Fri, 30 Jun 2017 08:40:06 +0000
> > From: "Van Haaren, Harry" <harry.van.haaren at intel.com>
> > To: Jerin Jacob <jerin.jacob at caviumnetworks.com>, "dev at dpdk.org"
> > <dev at dpdk.org>
> > CC: "Richardson, Bruce" <bruce.richardson at intel.com>,
> > "hemant.agrawal at nxp.com" <hemant.agrawal at nxp.com>, "Eads, Gage"
> > <gage.eads at intel.com>, "nipun.gupta at nxp.com" <nipun.gupta at nxp.com>,
> > "Vangati, Narender" <narender.vangati at intel.com>, "Rao, Nikhil"
> > <nikhil.rao at intel.com>
> > Subject: RE: [dpdk-dev] [PATCH 2/5] eventdev: introduce specialized enqueue
> > new op variant
> >
> > > From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com]
> > > Sent: Thursday, June 29, 2017 3:20 PM
> > > To: dev at dpdk.org
> > <snip>
> > > diff --git a/drivers/event/octeontx/ssovf_evdev.c
> b/drivers/event/octeontx/ssovf_evdev.c
> > > index 8dc7b2ef8..0d0c6a186 100644
> > > --- a/drivers/event/octeontx/ssovf_evdev.c
> > > +++ b/drivers/event/octeontx/ssovf_evdev.c
> > > @@ -158,6 +158,7 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
> > > dev->schedule = NULL;
> > > dev->enqueue = ssows_enq;
> > > dev->enqueue_burst = ssows_enq_burst;
> > > + dev->enqueue_new_burst = ssows_enq_burst;
> > > dev->dequeue = ssows_deq;
> > > dev->dequeue_burst = ssows_deq_burst;
> > >
> > > diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
> > > index fe2a61e2f..951ad1b33 100644
> > > --- a/drivers/event/sw/sw_evdev.c
> > > +++ b/drivers/event/sw/sw_evdev.c
> > > @@ -796,6 +796,7 @@ sw_probe(struct rte_vdev_device *vdev)
> > > dev->dev_ops = &evdev_sw_ops;
> > > dev->enqueue = sw_event_enqueue;
> > > dev->enqueue_burst = sw_event_enqueue_burst;
> > > + dev->enqueue_new_burst = sw_event_enqueue_burst;
> > > dev->dequeue = sw_event_dequeue;
> > > dev->dequeue_burst = sw_event_dequeue_burst;
> > > dev->schedule = sw_event_schedule;
> >
> >
> > I think it is possible to do this pointer-setting of new_burst() in eventdev.c, instead
> of adding the new_burst() to each PMD individually?
> > During rte_eventdev_configure(), if the dev->enqueue_new_burst() function is NULL, just
> point it at the ordinary one;
>
> I thought so, But it will break in multi process use case as on probe() we are
> updating the callbacks for secondary process. Doing it in probe() may be very
> early as some PMD may update the callback anywhere on or before rte_eventdev_start().
>
> Thoughts?
Ah I forgot about the multi-proc init during my review. The current solution is more appropriate then, so this version
Acked-by: Harry van Haaren <harry.van.haaren at intel.com>
More information about the dev
mailing list