On Fri, Aug 14, 2015 at 3:48 PM, Bruce Richardson < bruce.richardson at intel.com> wrote:
> On Fri, Aug 14, 2015 at 06:13:46AM -0400, Rajesh R wrote: > > I am relatively new to dpdk. I could make the examples work. > > > > Now I am experimenting with a traffic measurement application which > capture > > packets using dpdk. The application requires few other threads apart from > > the rte_threads. > > If I put the code for thread creation (pthread_create()) before calling > > eal_rte_init and remote_launch, the rte_init/remote launch is not > > proceeding. But if I put the eal_rte_init()/remote_launch first it is > > working, but coee will wait there and would not proceed to the subsequent > > lines > > > > How to do it correctly? > > > > -- > Hi Rajesh > > there should be no issues with spawning extra threads using pthread_create > in > your application. Can you provide a few more specifics and perhaps > snippets of > code which exhibit the problem. For example, when spawning the threads > before > init and remote launch - can you clarify in what way it is "not > proceding"? Does > it do nothing, does it hang, does it crash etc.? Similarly, putting the > pthread later, where exactly does it wait? Does gdb show anything of > interest, > or show more specifics as to what the thread is waiting on? > > Regards, > /Bruce > Hi Bruce, Thanks for a quick reply. Sory it was my mistake. I realized I was doing the mistake of putting the pthread_join()/rte_eal_wait_lcore() before the next segment of code and the control was waiting there. Now by moving those waiting part to the end of the complete code I could make it work. It works in either ways, putting pthread_create() first or rte_eal_remote_launch() first. Thanks a lot. Regards Rajesh R