https://bugs.dpdk.org/show_bug.cgi?id=824
Bug ID: 824 Summary: RTE_LCORE_FOREACH goes over unactive cores with dynamic linking on BlueField 2 Product: DPDK Version: 21.08 Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: core Assignee: dev@dpdk.org Reporter: barbe...@kth.se Target Milestone: --- This may not only happen on BlueField 2 only, but this is where I catched the bug... test.c > #include <rte_lcore.h> > #include <rte_eal.h> > int > main(int argc, char **argv) > { > int ret; > int lcore_id; > /* init EAL */ > ret = rte_eal_init(argc, argv); > if (ret < 0) > rte_exit(EXIT_FAILURE, "Invalid EAL parameters\n"); > printf("Have %d cores\n", rte_lcore_count()); > RTE_LCORE_FOREACH(lcore_id) { > printf("Core %d\n",lcore_id); > } > } Then compile using dynamic linking: > gcc -o mytest test.c $(pkg-config --libs libdpdk) $(pkg-config --cflags > libdpdk) Run: > ./mytest > Have 8 cores > Core 0 > Core 1 > ... > Core 63 With --static --libs it works fine Maybe a check should be done to verify the core is active in RTE_LCORE_FOREACH but I did not see any doc and there is no such things in the example. -- You are receiving this mail because: You are the assignee for the bug.