[dpdk-dev] [PATCH v3 2/2] eal: rename key opaque pointer and functions in TLS API

Tal Shnaiderman talshn at nvidia.com
Wed Mar 10 13:06:32 CET 2021


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



More information about the dev mailing list