get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/131396/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 131396,
    "url": "https://patches.dpdk.org/api/patches/131396/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230913114351.1940459-11-thomas@monjalon.net/",
    "project": {
        "id": 1,
        "url": "https://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": "<20230913114351.1940459-11-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230913114351.1940459-11-thomas@monjalon.net",
    "date": "2023-09-13T11:28:23",
    "name": "[v3,10/11] eal: remove deprecated thread functions",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "9f1fb1754447d2dac57c2d10dc7f89862b3b83d0",
    "submitter": {
        "id": 685,
        "url": "https://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230913114351.1940459-11-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 29494,
            "url": "https://patches.dpdk.org/api/series/29494/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=29494",
            "date": "2023-09-13T11:28:13",
            "name": "rework thread management",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/29494/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/131396/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/131396/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 8043242588;\n\tWed, 13 Sep 2023 13:46:11 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 37BDF40A76;\n\tWed, 13 Sep 2023 13:46:08 +0200 (CEST)",
            "from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com\n [64.147.123.21]) by mails.dpdk.org (Postfix) with ESMTP id 1714140A73\n for <dev@dpdk.org>; Wed, 13 Sep 2023 13:46:06 +0200 (CEST)",
            "from compute4.internal (compute4.nyi.internal [10.202.2.44])\n by mailout.west.internal (Postfix) with ESMTP id 3CE13320089C;\n Wed, 13 Sep 2023 07:46:04 -0400 (EDT)",
            "from mailfrontend1 ([10.202.2.162])\n by compute4.internal (MEProxy); Wed, 13 Sep 2023 07:46:05 -0400",
            "by mail.messagingengine.com (Postfix) with ESMTPA; Wed,\n 13 Sep 2023 07:46:02 -0400 (EDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n cc:cc:content-transfer-encoding:content-type:content-type:date\n :date:from:from:in-reply-to:in-reply-to:message-id:mime-version\n :references:reply-to:sender:subject:subject:to:to; s=fm2; t=\n 1694605563; x=1694691963; bh=ykJ7Jc1rH/sYRZK/B1po32no8K1dVbl7Dvi\n 4J4W50vw=; b=Nx0lgR+Jm5PJB3kDhwRf+Zb/TeNv3hlVE/x7jRKGAhpE7vQAxXL\n BzMUIjw8Pfu1aNCopjjF30kVyCnt9JlJPpqsTMMkrCEuFNhsPUhGuEUiXRhV+QyA\n 29gQ777bVlyLuJouDz9J7qt2p13UyZ6wg2NSVRgTPID+mQv6aDVfH4AUp3w4fbvW\n ScLl4IiAK3u+zQXdNIJUCmfIjE51n53XOW7k58QuUc7hWBdyjCCiqX7qrHWmF8K4\n B79wpk4KfOdUwLiE/3LKnpBYtmJYphIYa38ixnWAApF7mXlOPLnphlCKBgRk2Ltu\n a4u7Hd8yW/WwNAIFEWrc1Psx2+JgJjAtHCA==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:cc:content-transfer-encoding\n :content-type:content-type:date:date:feedback-id:feedback-id\n :from:from:in-reply-to:in-reply-to:message-id:mime-version\n :references:reply-to:sender:subject:subject:to:to:x-me-proxy\n :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=\n 1694605563; x=1694691963; bh=ykJ7Jc1rH/sYRZK/B1po32no8K1dVbl7Dvi\n 4J4W50vw=; b=UgPYYATCTptB5sD8k9miuMtYAk6jBotLhzs2eO+z1AbPbd7W6uP\n g4QV1aJ8Iz0lvhiTNb19NL7y50oQLh2d69ZLDuYl/xAk9X7+D2JGzlF63alJrtUX\n cLTLLA+HOG8y2uVX7a0oUnBsrl0jtSHof+uf7vjCr9NptPySINYG44EOJzxTCLN+\n ANK9gQOjnuWuMULiZshX71HyU313ZCikYpHqBdw/DeGCoyXDkt1KiQQ5I/EuS9Ez\n F+5OoQWgRpzLymbIz5bt2JVCNArQ2ovtzEQwei5LaJuHaMFRlsOSRLQptjyxBY5t\n qicIv7T3MELuuZKQw/NyFc6e9SGdKKDz5bA=="
        ],
        "X-ME-Sender": "<xms:-6ABZcT7514H7ZuinpWT-hMJWc_unRSc3S2p1XQ6py6TFWE_vWzK-Q>\n <xme:-6ABZZxmni2Xy5Vti0AoqduZXx9rpSZwk8j2-taEATlHlrWhigaeK-DFgrMMYyj1J\n mPARHTpn3z0Kp36AA>",
        "X-ME-Received": "\n <xmr:-6ABZZ0w0pOJuQFF21qOmFrVflSFYWJwT9jVHiz6xaRewHEaGgmJMtukjNNmmdbB_WxjKg>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedviedrudeikedggeegucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpefvhhho\n mhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqne\n cuggftrfgrthhtvghrnheptdeiffffgeefteelhfekueetueduffejgfelvedtieejudek\n gfevheetheehgeejnecuvehluhhsthgvrhfuihiivgepvdenucfrrghrrghmpehmrghilh\n hfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth",
        "X-ME-Proxy": "<xmx:-6ABZQAtywMfBuB-nk2zqyrrs0gRvrFOEphKe3FoZrt9AxnMPSQcBA>\n <xmx:-6ABZVjtM-B23LpO_bX7hn8bH-u65-Nlqlc5L6TLqNzMGy0Rl8bibA>\n <xmx:-6ABZcq6X7ubpE_GMatwhv8CvXaXLHqSv9jdksjQwByb7H8M6Au7MQ>\n <xmx:-6ABZcONBQ50B1ZqfMm5u0p1N5PvEhFZhgSHRt3FrqmwFnQJ3j2nmA>",
        "Feedback-ID": "i47234305:Fastmail",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "Tyler Retzlaff <roretzla@linux.microsoft.com>,\n David Marchand <david.marchand@redhat.com>,\n Ferruh Yigit <ferruh.yigit@amd.com>,\n =?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>,\n Anatoly Burakov <anatoly.burakov@intel.com>,\n Bruce Richardson <bruce.richardson@intel.com>,\n Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,\n Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,\n Dmitry Malloy <dmitrym@microsoft.com>,\n Pallavi Kadam <pallavi.kadam@intel.com>",
        "Subject": "[PATCH v3 10/11] eal: remove deprecated thread functions",
        "Date": "Wed, 13 Sep 2023 13:28:23 +0200",
        "Message-ID": "<20230913114351.1940459-11-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.42.0",
        "In-Reply-To": "<20230913114351.1940459-1-thomas@monjalon.net>",
        "References": "<20230906162226.1618088-1-thomas@monjalon.net>\n <20230913114351.1940459-1-thomas@monjalon.net>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "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"
    },
    "content": "The deprecated functions rte_thread_setname() and rte_ctrl_thread_create()\nare replaced with the new rte_thread API:\n\n\trte_thread_setname()\ncan be replaced with\n\trte_thread_set_name()\nor\trte_thread_set_prefixed_name()\n\n\trte_ctrl_thread_create()\ncan be replaced with\n\trte_thread_create_control()\nor\trte_thread_create_internal_control()\n\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\nAcked-by: Morten Brørup <mb@smartsharesystems.com>\nAcked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>\n\n---\nv2: clean control thread params struct\n---\n .../prog_guide/env_abstraction_layer.rst      |  2 +-\n doc/guides/rel_notes/deprecation.rst          |  5 -\n doc/guides/rel_notes/release_23_11.rst        |  4 +-\n lib/eal/common/eal_common_thread.c            | 93 +++----------------\n lib/eal/freebsd/eal_thread.c                  |  7 --\n lib/eal/include/rte_lcore.h                   | 42 ---------\n lib/eal/linux/eal_thread.c                    | 16 ----\n lib/eal/version.map                           |  2 -\n lib/eal/windows/eal_thread.c                  |  8 --\n 9 files changed, 18 insertions(+), 161 deletions(-)",
    "diff": "diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst\nindex 89014789de..6debf54efb 100644\n--- a/doc/guides/prog_guide/env_abstraction_layer.rst\n+++ b/doc/guides/prog_guide/env_abstraction_layer.rst\n@@ -756,7 +756,7 @@ Control Thread API\n ~~~~~~~~~~~~~~~~~~\n \n It is possible to create Control Threads using the public API\n-``rte_ctrl_thread_create()``.\n+``rte_thread_create_control()``.\n Those threads can be used for management/infrastructure tasks and are used\n internally by DPDK for multi process support and interrupt handling.\n \ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 3e48908b51..8c8873006d 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -29,11 +29,6 @@ Deprecation Notices\n   are renamed to ``rte_tel_data_add_array_uint`` and ``rte_tel_data_add_dict_uint`` respectively.\n   As such, the old function names are deprecated and will be removed in a future release.\n \n-* eal: The functions ``rte_thread_setname`` and ``rte_ctrl_thread_create``\n-  are planned to be deprecated starting with the 23.07 release, subject to\n-  the replacement API rte_thread_set_name and rte_thread_create_control being\n-  marked as stable, and planned to be removed by the 23.11 release.\n-\n * eal: ``RTE_CPUFLAG_NUMFLAGS`` will be removed in DPDK 23.11 release.\n   This is to allow new CPU features to be added without ABI breakage.\n \ndiff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst\nindex d7562fd646..9746809a66 100644\n--- a/doc/guides/rel_notes/release_23_11.rst\n+++ b/doc/guides/rel_notes/release_23_11.rst\n@@ -115,7 +115,9 @@ API Changes\n \n * eal: The thread API has changed.\n   The function ``rte_thread_create_control()`` does not take attributes anymore.\n-  The whole thread API was promoted to stable level.\n+  The whole thread API was promoted to stable level,\n+  except ``rte_thread_setname()`` and ``rte_ctrl_thread_create()`` which are\n+  replaced with ``rte_thread_set_name()`` and ``rte_thread_create_control()``.\n \n \n ABI Changes\ndiff --git a/lib/eal/common/eal_common_thread.c b/lib/eal/common/eal_common_thread.c\nindex 830273813f..668b1ed96b 100644\n--- a/lib/eal/common/eal_common_thread.c\n+++ b/lib/eal/common/eal_common_thread.c\n@@ -235,25 +235,22 @@ enum __rte_ctrl_thread_status {\n \tCTRL_THREAD_ERROR /* Control thread encountered an error */\n };\n \n-struct rte_thread_ctrl_params {\n-\tunion {\n-\t\tvoid *(*ctrl_start_routine)(void *arg);\n-\t\trte_thread_func control_start_routine;\n-\t} u;\n+struct control_thread_params {\n+\trte_thread_func start_routine;\n \tvoid *arg;\n \tint ret;\n \t/* Control thread status.\n \t * If the status is CTRL_THREAD_ERROR, 'ret' has the error code.\n \t */\n-\tenum __rte_ctrl_thread_status ctrl_thread_status;\n+\tenum __rte_ctrl_thread_status status;\n };\n \n-static int ctrl_thread_init(void *arg)\n+static int control_thread_init(void *arg)\n {\n \tstruct internal_config *internal_conf =\n \t\teal_get_internal_configuration();\n \trte_cpuset_t *cpuset = &internal_conf->ctrl_cpuset;\n-\tstruct rte_thread_ctrl_params *params = arg;\n+\tstruct control_thread_params *params = arg;\n \n \t__rte_thread_init(rte_lcore_id(), cpuset);\n \t/* Set control thread socket ID to SOCKET_ID_ANY\n@@ -262,96 +259,34 @@ static int ctrl_thread_init(void *arg)\n \tRTE_PER_LCORE(_socket_id) = SOCKET_ID_ANY;\n \tparams->ret = rte_thread_set_affinity_by_id(rte_thread_self(), cpuset);\n \tif (params->ret != 0) {\n-\t\t__atomic_store_n(&params->ctrl_thread_status,\n+\t\t__atomic_store_n(&params->status,\n \t\t\tCTRL_THREAD_ERROR, __ATOMIC_RELEASE);\n \t\treturn 1;\n \t}\n \n-\t__atomic_store_n(&params->ctrl_thread_status,\n+\t__atomic_store_n(&params->status,\n \t\tCTRL_THREAD_RUNNING, __ATOMIC_RELEASE);\n \n \treturn 0;\n }\n \n-static void *ctrl_thread_start(void *arg)\n-{\n-\tstruct rte_thread_ctrl_params *params = arg;\n-\tvoid *start_arg = params->arg;\n-\tvoid *(*start_routine)(void *) = params->u.ctrl_start_routine;\n-\n-\tif (ctrl_thread_init(arg) != 0)\n-\t\treturn NULL;\n-\n-\treturn start_routine(start_arg);\n-}\n-\n static uint32_t control_thread_start(void *arg)\n {\n-\tstruct rte_thread_ctrl_params *params = arg;\n+\tstruct control_thread_params *params = arg;\n \tvoid *start_arg = params->arg;\n-\trte_thread_func start_routine = params->u.control_start_routine;\n+\trte_thread_func start_routine = params->start_routine;\n \n-\tif (ctrl_thread_init(arg) != 0)\n+\tif (control_thread_init(arg) != 0)\n \t\treturn 0;\n \n \treturn start_routine(start_arg);\n }\n \n-int\n-rte_ctrl_thread_create(pthread_t *thread, const char *name,\n-\t\tconst pthread_attr_t *attr,\n-\t\tvoid *(*start_routine)(void *), void *arg)\n-{\n-\tstruct rte_thread_ctrl_params *params;\n-\tenum __rte_ctrl_thread_status ctrl_thread_status;\n-\tint ret;\n-\n-\tparams = malloc(sizeof(*params));\n-\tif (!params)\n-\t\treturn -ENOMEM;\n-\n-\tparams->u.ctrl_start_routine = start_routine;\n-\tparams->arg = arg;\n-\tparams->ret = 0;\n-\tparams->ctrl_thread_status = CTRL_THREAD_LAUNCHING;\n-\n-\tret = pthread_create(thread, attr, ctrl_thread_start, (void *)params);\n-\tif (ret != 0) {\n-\t\tfree(params);\n-\t\treturn -ret;\n-\t}\n-\n-\tif (name != NULL)\n-\t\trte_thread_set_name((rte_thread_t){(uintptr_t)*thread}, name);\n-\n-\t/* Wait for the control thread to initialize successfully */\n-\twhile ((ctrl_thread_status =\n-\t\t\t__atomic_load_n(&params->ctrl_thread_status,\n-\t\t\t__ATOMIC_ACQUIRE)) == CTRL_THREAD_LAUNCHING) {\n-\t\t/* Yield the CPU. Using sched_yield call requires maintaining\n-\t\t * another implementation for Windows as sched_yield is not\n-\t\t * supported on Windows.\n-\t\t */\n-\t\trte_delay_us_sleep(1);\n-\t}\n-\n-\t/* Check if the control thread encountered an error */\n-\tif (ctrl_thread_status == CTRL_THREAD_ERROR) {\n-\t\t/* ctrl thread is exiting */\n-\t\trte_thread_join((rte_thread_t){(uintptr_t)*thread}, NULL);\n-\t}\n-\n-\tret = params->ret;\n-\tfree(params);\n-\n-\treturn -ret;\n-}\n-\n int\n rte_thread_create_control(rte_thread_t *thread, const char *name,\n \t\trte_thread_func start_routine, void *arg)\n {\n-\tstruct rte_thread_ctrl_params *params;\n+\tstruct control_thread_params *params;\n \tenum __rte_ctrl_thread_status ctrl_thread_status;\n \tint ret;\n \n@@ -359,10 +294,10 @@ rte_thread_create_control(rte_thread_t *thread, const char *name,\n \tif (params == NULL)\n \t\treturn -ENOMEM;\n \n-\tparams->u.control_start_routine = start_routine;\n+\tparams->start_routine = start_routine;\n \tparams->arg = arg;\n \tparams->ret = 0;\n-\tparams->ctrl_thread_status = CTRL_THREAD_LAUNCHING;\n+\tparams->status = CTRL_THREAD_LAUNCHING;\n \n \tret = rte_thread_create(thread, NULL, control_thread_start, params);\n \tif (ret != 0) {\n@@ -375,7 +310,7 @@ rte_thread_create_control(rte_thread_t *thread, const char *name,\n \n \t/* Wait for the control thread to initialize successfully */\n \twhile ((ctrl_thread_status =\n-\t\t\t__atomic_load_n(&params->ctrl_thread_status,\n+\t\t\t__atomic_load_n(&params->status,\n \t\t\t__ATOMIC_ACQUIRE)) == CTRL_THREAD_LAUNCHING) {\n \t\trte_delay_us_sleep(1);\n \t}\ndiff --git a/lib/eal/freebsd/eal_thread.c b/lib/eal/freebsd/eal_thread.c\nindex ba9b25c2c0..6f97a3c2c1 100644\n--- a/lib/eal/freebsd/eal_thread.c\n+++ b/lib/eal/freebsd/eal_thread.c\n@@ -42,10 +42,3 @@ void rte_thread_set_name(rte_thread_t thread_id, const char *thread_name)\n \n \tpthread_set_name_np((pthread_t)thread_id.opaque_id, truncated);\n }\n-\n-int rte_thread_setname(pthread_t id, const char *name)\n-{\n-\t/* this BSD function returns no error */\n-\tpthread_set_name_np(id, name);\n-\treturn 0;\n-}\ndiff --git a/lib/eal/include/rte_lcore.h b/lib/eal/include/rte_lcore.h\nindex 6ce810b876..7deae47af3 100644\n--- a/lib/eal/include/rte_lcore.h\n+++ b/lib/eal/include/rte_lcore.h\n@@ -385,20 +385,6 @@ void rte_lcore_register_usage_cb(rte_lcore_usage_cb cb);\n void\n rte_lcore_dump(FILE *f);\n \n-/**\n- * Set thread names.\n- *\n- * @note It fails with glibc < 2.12.\n- *\n- * @param id\n- *   Thread id.\n- * @param name\n- *   Thread name to set.\n- * @return\n- *   On success, return 0; otherwise return a negative value.\n- */\n-int rte_thread_setname(pthread_t id, const char *name);\n-\n /**\n  * Register current non-EAL thread as a lcore.\n  *\n@@ -421,34 +407,6 @@ rte_thread_register(void);\n void\n rte_thread_unregister(void);\n \n-/**\n- * Create a control thread.\n- *\n- * Creates a control thread with the given name and attributes. The\n- * affinity of the new thread is based on the CPU affinity retrieved\n- * at the time rte_eal_init() was called, the dataplane and service\n- * lcores are then excluded. If setting the name of the thread fails,\n- * the error is ignored and a debug message is logged.\n- *\n- * @param thread\n- *   Filled with the thread id of the new created thread.\n- * @param name\n- *   The name of the control thread (max 16 characters including '\\0').\n- * @param attr\n- *   Attributes for the new thread.\n- * @param start_routine\n- *   Function to be executed by the new thread.\n- * @param arg\n- *   Argument passed to start_routine.\n- * @return\n- *   On success, returns 0; on error, it returns a negative value\n- *   corresponding to the error number.\n- */\n-int\n-rte_ctrl_thread_create(pthread_t *thread, const char *name,\n-\t\tconst pthread_attr_t *attr,\n-\t\tvoid *(*start_routine)(void *), void *arg);\n-\n #ifdef __cplusplus\n }\n #endif\ndiff --git a/lib/eal/linux/eal_thread.c b/lib/eal/linux/eal_thread.c\nindex b9a126f3a8..880070c627 100644\n--- a/lib/eal/linux/eal_thread.c\n+++ b/lib/eal/linux/eal_thread.c\n@@ -39,19 +39,3 @@ void rte_thread_set_name(rte_thread_t thread_id, const char *thread_name)\n \tif (ret != 0)\n \t\tRTE_LOG(DEBUG, EAL, \"Failed to set thread name\\n\");\n }\n-\n-int rte_thread_setname(pthread_t id, const char *name)\n-{\n-\tint ret = ENOSYS;\n-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)\n-#if __GLIBC_PREREQ(2, 12)\n-\tchar truncated[16];\n-\n-\tstrlcpy(truncated, name, sizeof(truncated));\n-\tret = pthread_setname_np(id, truncated);\n-#endif\n-#endif\n-\tRTE_SET_USED(id);\n-\tRTE_SET_USED(name);\n-\treturn -ret;\n-}\ndiff --git a/lib/eal/version.map b/lib/eal/version.map\nindex 6d32c19286..915057b325 100644\n--- a/lib/eal/version.map\n+++ b/lib/eal/version.map\n@@ -20,7 +20,6 @@ DPDK_24 {\n \trte_cpu_get_flag_enabled;\n \trte_cpu_get_flag_name;\n \trte_cpu_is_supported; # WINDOWS_NO_EXPORT\n-\trte_ctrl_thread_create;\n \trte_cycles_vmware_tsc_map; # WINDOWS_NO_EXPORT\n \trte_delay_us;\n \trte_delay_us_block;\n@@ -278,7 +277,6 @@ DPDK_24 {\n \trte_thread_set_affinity_by_id;\n \trte_thread_set_name;\n \trte_thread_set_priority;\n-\trte_thread_setname;\n \trte_thread_unregister;\n \trte_thread_value_get;\n \trte_thread_value_set;\ndiff --git a/lib/eal/windows/eal_thread.c b/lib/eal/windows/eal_thread.c\nindex 464d510838..9e3df200b9 100644\n--- a/lib/eal/windows/eal_thread.c\n+++ b/lib/eal/windows/eal_thread.c\n@@ -76,11 +76,3 @@ rte_sys_gettid(void)\n {\n \treturn GetCurrentThreadId();\n }\n-\n-int\n-rte_thread_setname(__rte_unused pthread_t id, __rte_unused const char *name)\n-{\n-\t/* TODO */\n-\t/* This is a stub, not the expected result */\n-\treturn 0;\n-}\n",
    "prefixes": [
        "v3",
        "10/11"
    ]
}