I found what was wrong. lthread_create(<, -1, initial_lthread, (void *) NULL); is not run because the number of launched schedulers (the number of times lthread_run( ) is called) set in function lthread_num_schedulers_set(num_sched) is not reached. At first, I set *num_sched *to the number of enabled lcores which is greater than 2. Now I call lthread_num_schedulers_set(2), I see hello from 2 lcores (lcore 5 and lcore 6) and the corresponding lthreads as expected.
To summarize, if I want to see hello from lcore 5 and lcore 6 and their corresponding lthreads, using rte_eal_remote_launch(), I must write: lthread_num_schedulers_set(2); rte_eal_remote_launch(lthread_scheduler, (void *)NULL, 5); rte_eal_remote_launch(lthread_scheduler, (void *)NULL, 6); Regards, ikuzar Le mar. 16 avr. 2019 à 16:05, ikuzar RABE <[email protected]> a écrit : > Hi all, > > I am experimenting lightweigth thread (lthread) over lcore. I use lcores > 0, 5 and 6. > I run this example: > https://doc.dpdk.org/api/examples_2performance-thread_2pthread_shim_2main_8c-example.html > and > the result is OK. > The result is Ok => I saw Hello from every lthread / lcore > > Now, I want to replace rte_eal_mp_remote_launch(lthread_scheduler, (void > *)NULL, CALL_MASTER); by rte_eal_remote_launch(lthread_scheduler, (void > *)NULL, 5); and rte_eal_remote_launch(lthread_scheduler, (void *)NULL, 6); > But I do not see any Hello from lthread / lcore. > With gdb I enter into lthread_scheduler() but lthread_create(<, -1, > initial_lthread, (void *) NULL); seems to be not run. I put a breakpoint > inside initial_lthread() but the execution does not stop on the breakpoint. > > My configuration: > - Linux Debian 8 > - dpdk v18.05.1 > - NUMA node0 CPU(s): 0-11,24-35 > - NUMA node1 CPU(s): 12-23,36-47 > > Would someone know how to run ligthweight threads with > rte_eal_remote_launch( ) ? > > Regards, > ikuzar >
