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