Hi Lukasz, > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Lukasz Wojciechowski > Sent: Tuesday, April 28, 2020 9:22 AM > To: Harry van Haaren <harry.van.haa...@intel.com>; Jerin Jacob > <jerin.ja...@caviumnetworks.com> > Cc: dev@dpdk.org; l.wojciec...@partner.samsung.com; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] eal: fix lcore state bug > > The rte_service_lcore_reset_all function stops execution of services > on all lcores and switches them back from ROLE_SERVICE to ROLE_RTE. > However the thread loop for slave lcores (eal_thread_loop) distincts these > roles to set lcore state after processing delegated function. > It sets WAIT state for ROLE_SERVICE, but FINISHED for ROLE_RTE. > So changing the role to RTE before stopping work in slave lcores > causes lcores to end in FINISHED state. That is why the rte_eal_lcore_wait > must be run after rte_service_lcore_reset_all to bring back lcores to > launchable (WAIT) state.
Is that make sense to call rte_eal_mp_wait_lcore() inside rte_serice_lcore_reset_all() ? <snip> Thanks, Phil