From 1325a1ffd98dcec9a083e3800833211822c37e74 Mon Sep 17 00:00:00 2001 From: Tal Shnaiderman Date: Tue, 16 Mar 2021 15:28:19 +0200 Subject: [PATCH] eal: rename thread TLS API MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Rename the key opaque pointer from rte_tls_key to rte_thread_key to avoid confusion with transport layer security. Also rename and remove the "_tls" term from the following functions to avoid redundancy: rte_thread_tls_key_create rte_thread_tls_key_delete rte_thread_tls_value_set rte_thread_tls_value_get Suggested-by: Vladimir Medvedkin Suggested-by: Morten Brørup Signed-off-by: Tal Shnaiderman Acked-by: Morten Brørup --- doc/guides/rel_notes/release_21_05.rst | 4 ++++ drivers/net/mlx5/linux/mlx5_flow_os.c | 10 +++++----- drivers/net/mlx5/windows/mlx5_flow_os.c | 12 ++++++------ lib/librte_eal/include/rte_thread.h | 19 ++++++++++--------- lib/librte_eal/rte_eal_exports.def | 8 ++++---- lib/librte_eal/unix/rte_thread.c | 8 ++++---- lib/librte_eal/version.map | 8 ++++---- lib/librte_eal/windows/rte_thread.c | 8 ++++---- 8 files changed, 41 insertions(+), 36 deletions(-) diff --git a/doc/guides/rel_notes/release_21_05.rst b/doc/guides/rel_notes/release_21_05.rst index fb965fec32..c187f1fa27 100644 --- a/doc/guides/rel_notes/release_21_05.rst +++ b/doc/guides/rel_notes/release_21_05.rst @@ -130,6 +130,10 @@ API Changes Also, make sure to start the actual text at the margin. ======================================================= +* eal: The experimental TLS API added in ``rte_thread.h`` has been renamed + from ``rte_thread_tls_*`` to ``rte_thread_*`` to avoid naming redundancy + and confusion with the transport layer security term. + ABI Changes ----------- diff --git a/drivers/net/mlx5/linux/mlx5_flow_os.c b/drivers/net/mlx5/linux/mlx5_flow_os.c index 732b1b2dd8..893f00b824 100644 --- a/drivers/net/mlx5/linux/mlx5_flow_os.c +++ b/drivers/net/mlx5/linux/mlx5_flow_os.c @@ -7,12 +7,12 @@ #include /* Key of thread specific flow workspace data. */ -static rte_tls_key key_workspace; +static rte_thread_key key_workspace; int mlx5_flow_os_init_workspace_once(void) { - if (rte_thread_tls_key_create(&key_workspace, flow_release_workspace)) { + if (rte_thread_key_create(&key_workspace, flow_release_workspace)) { DRV_LOG(ERR, "Can't create flow workspace data thread key."); return -ENOMEM; } @@ -22,17 +22,17 @@ mlx5_flow_os_init_workspace_once(void) void * mlx5_flow_os_get_specific_workspace(void) { - return rte_thread_tls_value_get(key_workspace); + return rte_thread_value_get(key_workspace); } int mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data) { - return rte_thread_tls_value_set(key_workspace, data); + return rte_thread_value_set(key_workspace, data); } void mlx5_flow_os_release_workspace(void) { - rte_thread_tls_key_delete(key_workspace); + rte_thread_key_delete(key_workspace); } diff --git a/drivers/net/mlx5/windows/mlx5_flow_os.c b/drivers/net/mlx5/windows/mlx5_flow_os.c index 2cc02df322..c4d5790726 100644 --- a/drivers/net/mlx5/windows/mlx5_flow_os.c +++ b/drivers/net/mlx5/windows/mlx5_flow_os.c @@ -252,7 +252,7 @@ struct mlx5_workspace_thread { */ static struct mlx5_workspace_thread *curr; static struct mlx5_workspace_thread *first; -rte_tls_key ws_tls_index; +rte_thread_key ws_tls_index; static pthread_mutex_t lock_thread_list; static bool @@ -329,7 +329,7 @@ mlx5_flow_os_release_workspace(void) flow_release_workspace(first->mlx5_ws); free(first); } - rte_thread_tls_key_delete(ws_tls_index); + rte_thread_key_delete(ws_tls_index); pthread_mutex_destroy(&lock_thread_list); } @@ -368,7 +368,7 @@ mlx5_add_workspace_to_list(struct mlx5_flow_workspace *data) int mlx5_flow_os_init_workspace_once(void) { - int err = rte_thread_tls_key_create(&ws_tls_index, NULL); + int err = rte_thread_key_create(&ws_tls_index, NULL); if (err) { DRV_LOG(ERR, "Can't create flow workspace data thread key."); @@ -381,7 +381,7 @@ mlx5_flow_os_init_workspace_once(void) void * mlx5_flow_os_get_specific_workspace(void) { - return rte_thread_tls_value_get(ws_tls_index); + return rte_thread_value_get(ws_tls_index); } int @@ -391,7 +391,7 @@ mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data) int old_err = rte_errno; rte_errno = 0; - if (!rte_thread_tls_value_get(ws_tls_index)) { + if (!rte_thread_value_get(ws_tls_index)) { if (rte_errno) { DRV_LOG(ERR, "Failed checking specific workspace."); rte_errno = old_err; @@ -409,7 +409,7 @@ mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data) return -1; } } - if (rte_thread_tls_value_set(ws_tls_index, data)) { + if (rte_thread_value_set(ws_tls_index, data)) { DRV_LOG(ERR, "Failed setting specific workspace."); err = -1; } diff --git a/lib/librte_eal/include/rte_thread.h b/lib/librte_eal/include/rte_thread.h index ee9232299d..8be8ed8f36 100644 --- a/lib/librte_eal/include/rte_thread.h +++ b/lib/librte_eal/include/rte_thread.h @@ -23,7 +23,7 @@ extern "C" { /** * TLS key type, an opaque pointer. */ -typedef struct eal_tls_key *rte_tls_key; +typedef struct eal_tls_key *rte_thread_key; #ifdef RTE_HAS_CPUSET @@ -69,13 +69,14 @@ void rte_thread_get_affinity(rte_cpuset_t *cpusetp); */ __rte_experimental -int rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *)); +int rte_thread_key_create(rte_thread_key *key, + void (*destructor)(void *)); /** * Delete a TLS data key visible to all threads in the process. * * @param key - * The key allocated by rte_thread_tls_key_create(). + * The key allocated by rte_thread_key_create(). * * @return * On success, zero. @@ -84,15 +85,15 @@ int rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *)); * ENOEXEC - Specific OS error. */ __rte_experimental -int rte_thread_tls_key_delete(rte_tls_key key); +int rte_thread_key_delete(rte_thread_key key); /** * Set value bound to the TLS key on behalf of the calling thread. * * @param key - * The key allocated by rte_thread_tls_key_create(). + * The key allocated by rte_thread_key_create(). * @param value - * The value bound to the rte_tls_key key for the calling thread. + * The value bound to the rte_thread_key key for the calling thread. * * @return * On success, zero. @@ -101,13 +102,13 @@ int rte_thread_tls_key_delete(rte_tls_key key); * ENOEXEC - Specific OS error. */ __rte_experimental -int rte_thread_tls_value_set(rte_tls_key key, const void *value); +int rte_thread_value_set(rte_thread_key key, const void *value); /** * Get value bound to the TLS key on behalf of the calling thread. * * @param key - * The key allocated by rte_thread_tls_key_create(). + * The key allocated by rte_thread_key_create(). * * @return * On success, value data pointer (can also be NULL). @@ -116,7 +117,7 @@ int rte_thread_tls_value_set(rte_tls_key key, const void *value); * ENOEXEC - Specific OS error. */ __rte_experimental -void *rte_thread_tls_value_get(rte_tls_key key); +void *rte_thread_value_get(rte_thread_key key); #ifdef __cplusplus } diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def index 474cf123fa..c320077547 100644 --- a/lib/librte_eal/rte_eal_exports.def +++ b/lib/librte_eal/rte_eal_exports.def @@ -325,10 +325,10 @@ EXPORTS rte_vect_get_max_simd_bitwidth rte_vect_set_max_simd_bitwidth - rte_thread_tls_key_create - rte_thread_tls_key_delete - rte_thread_tls_value_get - rte_thread_tls_value_set + rte_thread_key_create + rte_thread_key_delete + rte_thread_value_get + rte_thread_value_set rte_mem_lock rte_mem_map diff --git a/lib/librte_eal/unix/rte_thread.c b/lib/librte_eal/unix/rte_thread.c index b187c69a4c..c72d619ec1 100644 --- a/lib/librte_eal/unix/rte_thread.c +++ b/lib/librte_eal/unix/rte_thread.c @@ -17,7 +17,7 @@ struct eal_tls_key { }; int -rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *)) +rte_thread_key_create(rte_thread_key *key, void (*destructor)(void *)) { int err; @@ -39,7 +39,7 @@ rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *)) } int -rte_thread_tls_key_delete(rte_tls_key key) +rte_thread_key_delete(rte_thread_key key) { int err; @@ -61,7 +61,7 @@ rte_thread_tls_key_delete(rte_tls_key key) } int -rte_thread_tls_value_set(rte_tls_key key, const void *value) +rte_thread_value_set(rte_thread_key key, const void *value) { int err; @@ -81,7 +81,7 @@ rte_thread_tls_value_set(rte_tls_key key, const void *value) } void * -rte_thread_tls_value_get(rte_tls_key key) +rte_thread_value_get(rte_thread_key key) { if (!key) { RTE_LOG(DEBUG, EAL, "Invalid TLS key.\n"); diff --git a/lib/librte_eal/version.map b/lib/librte_eal/version.map index 48a2b55d57..e23745ae6e 100644 --- a/lib/librte_eal/version.map +++ b/lib/librte_eal/version.map @@ -409,12 +409,12 @@ EXPERIMENTAL { rte_power_monitor; rte_power_monitor_wakeup; rte_power_pause; - rte_thread_tls_key_create; - rte_thread_tls_key_delete; - rte_thread_tls_value_get; - rte_thread_tls_value_set; # added in 21.05 + rte_thread_key_create; + rte_thread_key_delete; + rte_thread_value_get; + rte_thread_value_set; rte_version_minor; rte_version_month; rte_version_prefix; diff --git a/lib/librte_eal/windows/rte_thread.c b/lib/librte_eal/windows/rte_thread.c index fa9e360855..667287c387 100644 --- a/lib/librte_eal/windows/rte_thread.c +++ b/lib/librte_eal/windows/rte_thread.c @@ -12,7 +12,7 @@ struct eal_tls_key { }; int -rte_thread_tls_key_create(rte_tls_key *key, +rte_thread_key_create(rte_thread_key *key, __rte_unused void (*destructor)(void *)) { *key = malloc(sizeof(**key)); @@ -32,7 +32,7 @@ rte_thread_tls_key_create(rte_tls_key *key, } int -rte_thread_tls_key_delete(rte_tls_key key) +rte_thread_key_delete(rte_thread_key key) { if (!key) { RTE_LOG(DEBUG, EAL, "Invalid TLS key.\n"); @@ -50,7 +50,7 @@ rte_thread_tls_key_delete(rte_tls_key key) } int -rte_thread_tls_value_set(rte_tls_key key, const void *value) +rte_thread_value_set(rte_thread_key key, const void *value) { char *p; @@ -70,7 +70,7 @@ rte_thread_tls_value_set(rte_tls_key key, const void *value) } void * -rte_thread_tls_value_get(rte_tls_key key) +rte_thread_value_get(rte_thread_key key) { void *output; -- 2.20.1