numam-dpdk/lib
Tal Shnaiderman b1fd151267 eal: add generic thread-local-storage functions
Add support for TLS functionality in EAL.

The following functions are added:
rte_thread_tls_key_create - create a TLS data key.
rte_thread_tls_key_delete - delete a TLS data key.
rte_thread_tls_value_set - set value bound to the TLS key
rte_thread_tls_value_get - get value bound to the TLS key

TLS key is defined by the new type rte_tls_key.

The API allocates the thread local storage (TLS) key.
Any thread of the process can subsequently use this key
to store and retrieve values that are local to the thread.

Those functions are added in addition to TLS capability
in rte_per_lcore.h to allow abstraction of the pthread
layer for all operating systems.

Windows implementation is under librte_eal/windows and
implemented using WIN32 API for Windows only.

Unix implementation is under librte_eal/unix and
implemented using pthread for UNIX compilation.

Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2021-01-11 23:28:12 +01:00
..
librte_acl build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_bbdev build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_bitratestats build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_bpf bpf: use helper to install headers 2020-10-22 14:15:19 +02:00
librte_cfgfile build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_cmdline cmdline: avoid name clash with Windows system types 2020-11-05 17:49:00 +01:00
librte_compressdev build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_cryptodev build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_distributor build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_eal eal: add generic thread-local-storage functions 2021-01-11 23:28:12 +01:00
librte_efd efd: fix tailq entry leak in error path 2020-10-22 22:07:15 +02:00
librte_ethdev ethdev: deprecate shared counters using action attribute 2020-11-27 19:16:45 +01:00
librte_eventdev eventdev: remove software Rx timestamp 2020-11-03 15:28:26 +01:00
librte_fib fib6: add AVX512 lookup 2020-10-28 21:29:13 +01:00
librte_flow_classify build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_graph build: standardize component names and defines 2020-10-19 22:15:34 +02:00
librte_gro gro: fix packet type detection with IPv6 tunnel 2020-11-14 10:56:30 +01:00
librte_gso gso: fix mbuf freeing responsibility 2020-11-03 22:45:02 +01:00
librte_hash hash: fix check of parameter 2020-10-29 16:45:17 +01:00
librte_ip_frag build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_ipsec build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_jobstats build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_kni build: align wording of non-support reasons 2020-11-20 16:05:35 +01:00
librte_kvargs build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_latencystats latency: switch Rx timestamp to dynamic mbuf field 2020-11-03 16:21:15 +01:00
librte_lpm lpm: hide internal data 2020-10-24 19:08:06 +02:00
librte_mbuf mbuf: add C++ include guard for dynamic fields header 2021-01-11 15:34:21 +01:00
librte_member build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_mempool build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_meter build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_metrics metrics: fix memory leak on allocation failure 2020-11-03 22:45:24 +01:00
librte_net doc: add missing network layers in API index 2020-11-27 01:51:27 +01:00
librte_node node: switch IPv4 metadata to dynamic mbuf field 2020-10-31 16:13:10 +01:00
librte_pci build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_pdump build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_pipeline pipeline: fix multiple SWX emit pattern detection 2020-11-15 16:46:37 +01:00
librte_port build: replace use of old build macros 2020-10-19 22:15:44 +02:00
librte_power build: align wording of non-support reasons 2020-11-20 16:05:35 +01:00
librte_rawdev build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_rcu rcu: use EAL memory barrier API 2021-01-11 15:34:21 +01:00
librte_regexdev regexdev: add out-of-order scan capability 2020-11-03 02:03:25 +01:00
librte_reorder reorder: switch sequence number to dynamic mbuf field 2020-10-31 22:14:30 +01:00
librte_rib rib: fix insertion in some cases 2020-12-15 10:08:39 +01:00
librte_ring ring: add zero copy API 2020-10-29 14:13:31 +01:00
librte_sched build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_security security: switch metadata to dynamic mbuf field 2020-10-31 16:13:11 +01:00
librte_stack build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_table table: fix exact match SWX table lookup 2020-11-13 13:55:07 +01:00
librte_telemetry build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_timer build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_vhost vhost: refactor memory regions mapping 2021-01-08 18:07:56 +01:00
meson.build build: fix MS linker flag with meson 0.54 2020-11-13 15:13:16 +01:00