[dpdk-dev] [Bug 824] RTE_LCORE_FOREACH goes over unactive cores with dynamic linking on BlueField 2

bugzilla at dpdk.org bugzilla at dpdk.org
Tue Oct 5 18:08:57 CEST 2021


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 at dpdk.org
          Reporter: barbette at 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.


More information about the dev mailing list