[dpdk-dev] [PATCH v3 2/2] eal: rename key opaque pointer and functions in TLS API
Morten Brørup
mb at smartsharesystems.com
Wed Mar 10 13:22:43 CET 2021
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Tal Shnaiderman
> Sent: Wednesday, March 10, 2021 1:07 PM
>
> 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 <vladimir.medvedkin at intel.com>
> Suggested-by: Morten Brørup <mb at smartsharesystems.com>
> Signed-off-by: Tal Shnaiderman <talshn at nvidia.com>
> ---
> 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 ++++----
> 7 files changed, 37 insertions(+), 36 deletions(-)
>
> 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 <rte_thread.h>
>
> /* 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 8969b5d645..5fcccbce60 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;
>
> /**
> * Set core affinity of the current thread.
> @@ -65,13 +65,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.
> @@ -80,15 +81,15 @@ int rte_thread_tls_key_create(rte_tls_key *key,
> void (*destructor)(void *));
> * EOTHER - 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.
> @@ -97,13 +98,13 @@ int rte_thread_tls_key_delete(rte_tls_key key);
> * EOTHER - 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).
> @@ -112,7 +113,7 @@ int rte_thread_tls_value_set(rte_tls_key key, const
> void *value);
> * EOTHER - 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 448dbdfcfd..cee3c131c0 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 fce90a112f..c07aab176c 100644
> --- a/lib/librte_eal/version.map
> +++ b/lib/librte_eal/version.map
> @@ -408,10 +408,10 @@ 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;
> + rte_thread_key_create;
> + rte_thread_key_delete;
> + rte_thread_value_get;
> + rte_thread_value_set;
> };
>
> INTERNAL {
> diff --git a/lib/librte_eal/windows/rte_thread.c
> b/lib/librte_eal/windows/rte_thread.c
> index d42f2cf62a..f5ee70e780 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.16.1.windows.4
>
Acked-by: Morten Brørup <mb at smartsharesystems.com>
More information about the dev
mailing list