> > > > Running l3fwd in event mode with SW eventdev, service cores > > > > can start RX before main thread is finished with PMD installation. > > > > to reproduce: > > > > ./dpdk-l3fwd --lcores=49,51 -n 6 -a ca:00.0 -s 0x8000000000000 \ > > > > --vdev event_sw0 -- \ > > > > -L -P -p 1 --mode eventdev --eventq-sched=ordered \ > > > > --rule_ipv4=test/l3fwd_lpm_v4_u1.cfg -- > > rule_ipv6=test/l3fwd_lpm_v6_u1.cfg > > > > \ > > > > --no-numa > > > > > > > > At init stage user will most likely see the error message like that: > > > > ETHDEV: lcore 51 called rx_pkt_burst for not ready port 0 > > > > 0: ./dpdk-l3fwd (rte_dump_stack+0x1f) [15de723] > > > > ... > > > > 9: ./dpdk-l3fwd (eal_thread_loop+0x5a2) [15c1324] > > > > ... > > > > > > > > And then all depends how luck/unlucky you are. > > > > If there are some actual packet in HW RX queue, then the app will most > > > > likely crash, otherwise it might survive. > > > > As error message suggests, the problem is that services are started > > > > before main thread finished with NIC setup and initialization. > > > > The suggested fix moves services startup after NIC setup phase. > > > > > > > > Bugzilla ID: 1390 > > > > Fixes: 8bd537e9c6cf ("examples/l3fwd: add service core setup based on > > > > caps") > > > > Cc: sta...@dpdk.org > > > > > > > > Signed-off-by: Konstantin Ananyev <konstantin.v.anan...@yandex.ru> > > > > Signed-off-by: Konstantin Ananyev <konstantin.anan...@huawei.com> > > Acked-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
Applied, thanks.