We have written application where EAL initialization and resource allocation done in main program. Then we are launching/calling a function below code(Reference 1).Launched Function is responsible for creating thread and perform corresponding job,but we see that after thread completes it's job we are not able to exit from application it gets hanged. And we are seeing newly created thread unable to access lcore value as accessed by main thread. using below function rte_lcore_id() Below is command used to run application. #./<executable file> -l 1-2 -d /usr/local/lib/librte_pmd_e1000.so.1.1 -w 0000:04:00.1 -w 0000:04:00.2 Also whatever statement/code written after below code is not executed in main thread. Reference 1: Code to launch function in main program. ________________________________________ rte_eal_mp_remote_launch(<function_name>,NULL, CALL_MASTER); RTE_LCORE_FOREACH_SLAVE(lcore) { if(rte_eal_wait_lcore(lcore) < 0 ) { return -1; } } can you please guide us what is the correct procedure to run DPDK application as separate thread/Tell us what is the mistake we are doing?. Thanks & Regards, ullas
Bruce, Is this something you can look at? Can you reassign otherwise? Thanks
i think CALL_MASTER will launch the function on the master core, rather than on one of the available slave cores. Replacing that with SKIP_MASTER should do the trick.
Ullas, Can you try Anatoly's recommendation? Thanks
Further investigation by Oleksandr showed that this is indeed an igb_uio issue. I'm reassigning this to Ferruh.
Oops, wrong bug :(