]> git.droids-corp.org - dpdk.git/commit
eal: factorize lcore main loop
authorDavid Marchand <david.marchand@redhat.com>
Tue, 5 Apr 2022 16:34:47 +0000 (18:34 +0200)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 14 Apr 2022 11:59:50 +0000 (13:59 +0200)
commita95d70547c57c25092877c1cc12c90c4df3b5d4a
tree14fdd7ecd4c79ae343bfd582c53d794f455887fc
parent449e7dbc7b0c530354bd430950e456c4a1e0f7e4
eal: factorize lcore main loop

All OS implementations provide the same main loop.
Introduce helpers (shared for Linux and FreeBSD) to handle synchronisation
between main and threads and factorize the rest as common code.
Thread id are now logged as string in a common format across OS.

Note:
- this change also fixes Windows EAL: worker threads cpu affinity was
  incorrectly reported in log.

- libabigail flags this change as breaking ABI in clang builds:
  1 function with some indirect sub-type change:

  [C] 'function int rte_eal_remote_launch(int (void*)*, void*, unsigned
      int)' at eal_common_launch.c:35:1 has some indirect sub-type
      changes:
    parameter 1 of type 'int (void*)*' changed:
      in pointed to type 'function type int (void*)' at rte_launch.h:31:1:
        entity changed from 'function type int (void*)' to 'typedef
          lcore_function_t' at rte_launch.h:31:1
        type size hasn't changed

  This is being investigated on libabigail side.
  For now, we don't have much choice but to waive reports on this symbol.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
devtools/libabigail.abignore
lib/eal/common/eal_common_launch.c
lib/eal/common/eal_common_thread.c
lib/eal/common/eal_thread.h
lib/eal/freebsd/eal.c
lib/eal/freebsd/eal_thread.c
lib/eal/linux/eal.c
lib/eal/linux/eal_thread.c
lib/eal/unix/eal_unix_thread.c [new file with mode: 0644]
lib/eal/unix/meson.build
lib/eal/windows/eal_thread.c