Go to file
David Marchand 3ef1a0b4a1 eal: fix multiple definition of per lcore thread id
Because of the inline accessor + static declaration in rte_gettid(),
we end up with multiple symbols for RTE_PER_LCORE(_thread_id).
Each compilation unit will pay a cost when accessing this information
for the first time.

$ nm build/app/dpdk-testpmd | grep per_lcore__thread_id
0000000000000054 d per_lcore__thread_id.5037
0000000000000040 d per_lcore__thread_id.5103
0000000000000048 d per_lcore__thread_id.5259
000000000000004c d per_lcore__thread_id.5259
0000000000000044 d per_lcore__thread_id.5933
0000000000000058 d per_lcore__thread_id.6261
0000000000000050 d per_lcore__thread_id.7378
000000000000005c d per_lcore__thread_id.7496
000000000000000c d per_lcore__thread_id.8016
0000000000000010 d per_lcore__thread_id.8431

Make it global as part of the DPDK_21 stable ABI.

Fixes: ef76436c68 ("eal: get unique thread id")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2020-07-08 14:39:26 +02:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app test/service: check active state on two lcores 2020-07-07 23:52:12 +02:00
buildtools build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
config build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
devtools build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
doc doc: announce deprecation of coherent I/O memory barriers 2020-07-08 13:46:19 +02:00
drivers log: remove unneeded logtype declaration 2020-07-07 13:18:23 +02:00
examples examples/eventdev: fix 32-bit coremask 2020-06-29 18:37:52 +02:00
kernel kernel/linux: error out on module build failure 2020-05-19 17:59:57 +02:00
lib eal: fix multiple definition of per lcore thread id 2020-07-08 14:39:26 +02:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
mk build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
usertools usertools: fix telemetry user socket path 2020-06-25 01:10:12 +02:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add feature matrix table for bbdev 2020-04-19 22:34:26 +02:00
.travis.yml version: 20.08-rc0 2020-05-27 11:37:33 +02:00
ABI_VERSION version: 20.08-rc0 2020-05-27 11:37:33 +02:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS rawdev: remove remaining experimental tags 2020-07-07 12:54:22 +02:00
Makefile remove blank lines at end of file 2019-11-26 00:12:08 +01:00
meson_options.txt trace: introduce new subsystem 2020-04-23 15:39:06 +02:00
meson.build build: check AVX512 rather than binutils version 2020-07-05 21:32:40 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.08-rc0 2020-05-27 11:37:33 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org