On Wed, May 17, 2017 at 11:33:16PM +0530, Jerin Jacob wrote:
> -----Original Message-----
> > Date: Fri, 21 Apr 2017 10:51:37 +0100
> > From: Harry van Haaren <harry.van.haa...@intel.com>
> > To: dev@dpdk.org
> > CC: jerin.ja...@caviumnetworks.com, Harry van Haaren
> >  <harry.van.haa...@intel.com>, Gage Eads <gage.e...@intel.com>, Bruce
> >  Richardson <bruce.richard...@intel.com>
> > Subject: [PATCH 1/3] examples/eventdev_pipeline: added sample app
> > X-Mailer: git-send-email 2.7.4
> > 
> > This commit adds a sample app for the eventdev library.
> > The app has been tested with DPDK 17.05-rc2, hence this
> > release (or later) is recommended.
> > 
> > The sample app showcases a pipeline processing use-case,
> > with event scheduling and processing defined per stage.
> > The application recieves traffic as normal, with each
> > packet traversing the pipeline. Once the packet has
> > been processed by each of the pipeline stages, it is
> > transmitted again.
> > 
> > The app provides a framework to utilize cores for a single
> > role or multiple roles. Examples of roles are the RX core,
> > TX core, Scheduling core (in the case of the event/sw PMD),
> > and worker cores.
> > 
> > Various flags are available to configure numbers of stages,
> > cycles of work at each stage, type of scheduling, number of
> > worker cores, queue depths etc. For a full explaination,
> > please refer to the documentation.
> > 
> > Signed-off-by: Gage Eads <gage.e...@intel.com>
> > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> > Signed-off-by: Harry van Haaren <harry.van.haa...@intel.com>
> > ---
> > +
> > +static inline void
> > +schedule_devices(uint8_t dev_id, unsigned lcore_id)
> > +{
> > +   if (rx_core[lcore_id] && (rx_single ||
> > +       rte_atomic32_cmpset(&rx_lock, 0, 1))) {
> > +           producer();
> > +           rte_atomic32_clear((rte_atomic32_t *)&rx_lock);
> > +   }
> > +
> > +   if (sched_core[lcore_id] && (sched_single ||
> > +       rte_atomic32_cmpset(&sched_lock, 0, 1))) {
> > +           rte_event_schedule(dev_id);
> 
> One question here,
> 
> Does rte_event_schedule()'s SW PMD implementation capable of running
> concurrently on multiple cores?
>

No, it's not. It's designed to be called on a single (dedicated) core.

> Context:
> Currently I am writing a testpmd like test framework to realize
> different use cases along with with performance test cases like throughput
> and latency and making sure it works on SW and HW driver.
> 
> I see the following segfault problem when rte_event_schedule() invoked on
> multiple core currently. Is it expected?

Yes,pretty much.

/Bruce

Reply via email to