Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/88841/?format=api
http://patches.dpdk.org/api/patches/88841/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210310124856.8188-3-talshn@nvidia.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20210310124856.8188-3-talshn@nvidia.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20210310124856.8188-3-talshn@nvidia.com", "date": "2021-03-10T12:48:56", "name": "[v4,2/2] eal: rename key opaque pointer and functions in TLS API", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "29137c45c9667136f600cc264098ab186d2f0347", "submitter": { "id": 1893, "url": "http://patches.dpdk.org/api/people/1893/?format=api", "name": "Tal Shnaiderman", "email": "talshn@nvidia.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210310124856.8188-3-talshn@nvidia.com/mbox/", "series": [ { "id": 15578, "url": "http://patches.dpdk.org/api/series/15578/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=15578", "date": "2021-03-10T12:48:55", "name": "EAL Thread TLS API enhancements", "version": 4, "mbox": "http://patches.dpdk.org/series/15578/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/88841/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/88841/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 19F5CA0567;\n\tWed, 10 Mar 2021 13:49:06 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A414D22A595;\n\tWed, 10 Mar 2021 13:49:01 +0100 (CET)", "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by mails.dpdk.org (Postfix) with ESMTP id B7CD84068C\n for <dev@dpdk.org>; Wed, 10 Mar 2021 13:48:59 +0100 (CET)", "from Internal Mail-Server by MTLPINE1 (envelope-from\n talshn@nvidia.com) with SMTP; 10 Mar 2021 14:48:58 +0200", "from nvidia.com (l-wincomp04-vm.mtl.labs.mlnx [10.237.1.5])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 12ACmvkJ016030;\n Wed, 10 Mar 2021 14:48:57 +0200" ], "From": "Tal Shnaiderman <talshn@nvidia.com>", "To": "dev@dpdk.org", "Cc": "thomas@monjalon.net, pallavi.kadam@intel.com, dmitry.kozliuk@gmail.com,\n navasile@linux.microsoft.com, dmitrym@microsoft.com,\n david.marchand@redhat.com, anatoly.burakov@intel.com,\n vladimir.medvedkin@intel.com, mb@smartsharesystems.com", "Date": "Wed, 10 Mar 2021 14:48:56 +0200", "Message-Id": "<20210310124856.8188-3-talshn@nvidia.com>", "X-Mailer": "git-send-email 2.16.1.windows.4", "In-Reply-To": "<20210310124856.8188-1-talshn@nvidia.com>", "References": "<20210310120632.14464-2-talshn@nvidia.com>\n <20210310124856.8188-1-talshn@nvidia.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v4 2/2] eal: rename key opaque pointer and\n functions in TLS API", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "rename the key opaque pointer from rte_tls_key to\nrte_thread_key to avoid confusion with transport layer security.\n\nAlso rename and remove the \"_tls\" term from the following\nfunctions to avoid redundancy:\n\nrte_thread_tls_key_create\nrte_thread_tls_key_delete\nrte_thread_tls_value_set\nrte_thread_tls_value_get\n\nSuggested-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>\nSuggested-by: Morten Brørup <mb@smartsharesystems.com>\nSigned-off-by: Tal Shnaiderman <talshn@nvidia.com>\nAcked-by: Morten Brørup <mb@smartsharesystems.com>\n---\n drivers/net/mlx5/linux/mlx5_flow_os.c | 10 +++++-----\n drivers/net/mlx5/windows/mlx5_flow_os.c | 12 ++++++------\n lib/librte_eal/include/rte_thread.h | 19 ++++++++++---------\n lib/librte_eal/rte_eal_exports.def | 8 ++++----\n lib/librte_eal/unix/rte_thread.c | 8 ++++----\n lib/librte_eal/version.map | 8 ++++----\n lib/librte_eal/windows/rte_thread.c | 8 ++++----\n 7 files changed, 37 insertions(+), 36 deletions(-)", "diff": "diff --git a/drivers/net/mlx5/linux/mlx5_flow_os.c b/drivers/net/mlx5/linux/mlx5_flow_os.c\nindex 732b1b2dd8..893f00b824 100644\n--- a/drivers/net/mlx5/linux/mlx5_flow_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_flow_os.c\n@@ -7,12 +7,12 @@\n #include <rte_thread.h>\n \n /* Key of thread specific flow workspace data. */\n-static rte_tls_key key_workspace;\n+static rte_thread_key key_workspace;\n \n int\n mlx5_flow_os_init_workspace_once(void)\n {\n-\tif (rte_thread_tls_key_create(&key_workspace, flow_release_workspace)) {\n+\tif (rte_thread_key_create(&key_workspace, flow_release_workspace)) {\n \t\tDRV_LOG(ERR, \"Can't create flow workspace data thread key.\");\n \t\treturn -ENOMEM;\n \t}\n@@ -22,17 +22,17 @@ mlx5_flow_os_init_workspace_once(void)\n void *\n mlx5_flow_os_get_specific_workspace(void)\n {\n-\treturn rte_thread_tls_value_get(key_workspace);\n+\treturn rte_thread_value_get(key_workspace);\n }\n \n int\n mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data)\n {\n-\treturn rte_thread_tls_value_set(key_workspace, data);\n+\treturn rte_thread_value_set(key_workspace, data);\n }\n \n void\n mlx5_flow_os_release_workspace(void)\n {\n-\trte_thread_tls_key_delete(key_workspace);\n+\trte_thread_key_delete(key_workspace);\n }\ndiff --git a/drivers/net/mlx5/windows/mlx5_flow_os.c b/drivers/net/mlx5/windows/mlx5_flow_os.c\nindex 2cc02df322..c4d5790726 100644\n--- a/drivers/net/mlx5/windows/mlx5_flow_os.c\n+++ b/drivers/net/mlx5/windows/mlx5_flow_os.c\n@@ -252,7 +252,7 @@ struct mlx5_workspace_thread {\n */\n static struct mlx5_workspace_thread *curr;\n static struct mlx5_workspace_thread *first;\n-rte_tls_key ws_tls_index;\n+rte_thread_key ws_tls_index;\n static pthread_mutex_t lock_thread_list;\n \n static bool\n@@ -329,7 +329,7 @@ mlx5_flow_os_release_workspace(void)\n \t\tflow_release_workspace(first->mlx5_ws);\n \t\tfree(first);\n \t}\n-\trte_thread_tls_key_delete(ws_tls_index);\n+\trte_thread_key_delete(ws_tls_index);\n \tpthread_mutex_destroy(&lock_thread_list);\n }\n \n@@ -368,7 +368,7 @@ mlx5_add_workspace_to_list(struct mlx5_flow_workspace *data)\n int\n mlx5_flow_os_init_workspace_once(void)\n {\n-\tint err = rte_thread_tls_key_create(&ws_tls_index, NULL);\n+\tint err = rte_thread_key_create(&ws_tls_index, NULL);\n \n \tif (err) {\n \t\tDRV_LOG(ERR, \"Can't create flow workspace data thread key.\");\n@@ -381,7 +381,7 @@ mlx5_flow_os_init_workspace_once(void)\n void *\n mlx5_flow_os_get_specific_workspace(void)\n {\n-\treturn rte_thread_tls_value_get(ws_tls_index);\n+\treturn rte_thread_value_get(ws_tls_index);\n }\n \n int\n@@ -391,7 +391,7 @@ mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data)\n \tint old_err = rte_errno;\n \n \trte_errno = 0;\n-\tif (!rte_thread_tls_value_get(ws_tls_index)) {\n+\tif (!rte_thread_value_get(ws_tls_index)) {\n \t\tif (rte_errno) {\n \t\t\tDRV_LOG(ERR, \"Failed checking specific workspace.\");\n \t\t\trte_errno = old_err;\n@@ -409,7 +409,7 @@ mlx5_flow_os_set_specific_workspace(struct mlx5_flow_workspace *data)\n \t\t\treturn -1;\n \t\t}\n \t}\n-\tif (rte_thread_tls_value_set(ws_tls_index, data)) {\n+\tif (rte_thread_value_set(ws_tls_index, data)) {\n \t\tDRV_LOG(ERR, \"Failed setting specific workspace.\");\n \t\terr = -1;\n \t}\ndiff --git a/lib/librte_eal/include/rte_thread.h b/lib/librte_eal/include/rte_thread.h\nindex 7a503b81c9..27da0d8787 100644\n--- a/lib/librte_eal/include/rte_thread.h\n+++ b/lib/librte_eal/include/rte_thread.h\n@@ -23,7 +23,7 @@ extern \"C\" {\n /**\n * TLS key type, an opaque pointer.\n */\n-typedef struct eal_tls_key *rte_tls_key;\n+typedef struct eal_tls_key *rte_thread_key;\n \n /**\n * Set core affinity of the current thread.\n@@ -65,13 +65,14 @@ void rte_thread_get_affinity(rte_cpuset_t *cpusetp);\n */\n \n __rte_experimental\n-int rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *));\n+int rte_thread_key_create(rte_thread_key *key,\n+\t\t\tvoid (*destructor)(void *));\n \n /**\n * Delete a TLS data key visible to all threads in the process.\n *\n * @param key\n- * The key allocated by rte_thread_tls_key_create().\n+ * The key allocated by rte_thread_key_create().\n *\n * @return\n * On success, zero.\n@@ -80,15 +81,15 @@ int rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *));\n * ENOEXEC - Specific OS error.\n */\n __rte_experimental\n-int rte_thread_tls_key_delete(rte_tls_key key);\n+int rte_thread_key_delete(rte_thread_key key);\n \n /**\n * Set value bound to the TLS key on behalf of the calling thread.\n *\n * @param key\n- * The key allocated by rte_thread_tls_key_create().\n+ * The key allocated by rte_thread_key_create().\n * @param value\n- * The value bound to the rte_tls_key key for the calling thread.\n+ * The value bound to the rte_thread_key key for the calling thread.\n *\n * @return\n * On success, zero.\n@@ -97,13 +98,13 @@ int rte_thread_tls_key_delete(rte_tls_key key);\n * ENOEXEC - Specific OS error.\n */\n __rte_experimental\n-int rte_thread_tls_value_set(rte_tls_key key, const void *value);\n+int rte_thread_value_set(rte_thread_key key, const void *value);\n \n /**\n * Get value bound to the TLS key on behalf of the calling thread.\n *\n * @param key\n- * The key allocated by rte_thread_tls_key_create().\n+ * The key allocated by rte_thread_key_create().\n *\n * @return\n * On success, value data pointer (can also be NULL).\n@@ -112,7 +113,7 @@ int rte_thread_tls_value_set(rte_tls_key key, const void *value);\n * ENOEXEC - Specific OS error.\n */\n __rte_experimental\n-void *rte_thread_tls_value_get(rte_tls_key key);\n+void *rte_thread_value_get(rte_thread_key key);\n \n #ifdef __cplusplus\n }\ndiff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def\nindex 474cf123fa..c320077547 100644\n--- a/lib/librte_eal/rte_eal_exports.def\n+++ b/lib/librte_eal/rte_eal_exports.def\n@@ -325,10 +325,10 @@ EXPORTS\n \trte_vect_get_max_simd_bitwidth\n \trte_vect_set_max_simd_bitwidth\n \n-\trte_thread_tls_key_create\n-\trte_thread_tls_key_delete\n-\trte_thread_tls_value_get\n-\trte_thread_tls_value_set\n+\trte_thread_key_create\n+\trte_thread_key_delete\n+\trte_thread_value_get\n+\trte_thread_value_set\n \n \trte_mem_lock\n \trte_mem_map\ndiff --git a/lib/librte_eal/unix/rte_thread.c b/lib/librte_eal/unix/rte_thread.c\nindex b187c69a4c..c72d619ec1 100644\n--- a/lib/librte_eal/unix/rte_thread.c\n+++ b/lib/librte_eal/unix/rte_thread.c\n@@ -17,7 +17,7 @@ struct eal_tls_key {\n };\n \n int\n-rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *))\n+rte_thread_key_create(rte_thread_key *key, void (*destructor)(void *))\n {\n \tint err;\n \n@@ -39,7 +39,7 @@ rte_thread_tls_key_create(rte_tls_key *key, void (*destructor)(void *))\n }\n \n int\n-rte_thread_tls_key_delete(rte_tls_key key)\n+rte_thread_key_delete(rte_thread_key key)\n {\n \tint err;\n \n@@ -61,7 +61,7 @@ rte_thread_tls_key_delete(rte_tls_key key)\n }\n \n int\n-rte_thread_tls_value_set(rte_tls_key key, const void *value)\n+rte_thread_value_set(rte_thread_key key, const void *value)\n {\n \tint err;\n \n@@ -81,7 +81,7 @@ rte_thread_tls_value_set(rte_tls_key key, const void *value)\n }\n \n void *\n-rte_thread_tls_value_get(rte_tls_key key)\n+rte_thread_value_get(rte_thread_key key)\n {\n \tif (!key) {\n \t\tRTE_LOG(DEBUG, EAL, \"Invalid TLS key.\\n\");\ndiff --git a/lib/librte_eal/version.map b/lib/librte_eal/version.map\nindex fce90a112f..c07aab176c 100644\n--- a/lib/librte_eal/version.map\n+++ b/lib/librte_eal/version.map\n@@ -408,10 +408,10 @@ EXPERIMENTAL {\n \trte_power_monitor;\n \trte_power_monitor_wakeup;\n \trte_power_pause;\n-\trte_thread_tls_key_create;\n-\trte_thread_tls_key_delete;\n-\trte_thread_tls_value_get;\n-\trte_thread_tls_value_set;\n+\trte_thread_key_create;\n+\trte_thread_key_delete;\n+\trte_thread_value_get;\n+\trte_thread_value_set;\n };\n \n INTERNAL {\ndiff --git a/lib/librte_eal/windows/rte_thread.c b/lib/librte_eal/windows/rte_thread.c\nindex fa9e360855..667287c387 100644\n--- a/lib/librte_eal/windows/rte_thread.c\n+++ b/lib/librte_eal/windows/rte_thread.c\n@@ -12,7 +12,7 @@ struct eal_tls_key {\n };\n \n int\n-rte_thread_tls_key_create(rte_tls_key *key,\n+rte_thread_key_create(rte_thread_key *key,\n \t\t__rte_unused void (*destructor)(void *))\n {\n \t*key = malloc(sizeof(**key));\n@@ -32,7 +32,7 @@ rte_thread_tls_key_create(rte_tls_key *key,\n }\n \n int\n-rte_thread_tls_key_delete(rte_tls_key key)\n+rte_thread_key_delete(rte_thread_key key)\n {\n \tif (!key) {\n \t\tRTE_LOG(DEBUG, EAL, \"Invalid TLS key.\\n\");\n@@ -50,7 +50,7 @@ rte_thread_tls_key_delete(rte_tls_key key)\n }\n \n int\n-rte_thread_tls_value_set(rte_tls_key key, const void *value)\n+rte_thread_value_set(rte_thread_key key, const void *value)\n {\n \tchar *p;\n \n@@ -70,7 +70,7 @@ rte_thread_tls_value_set(rte_tls_key key, const void *value)\n }\n \n void *\n-rte_thread_tls_value_get(rte_tls_key key)\n+rte_thread_value_get(rte_thread_key key)\n {\n \tvoid *output;\n \n", "prefixes": [ "v4", "2/2" ] }{ "id": 88841, "url": "