patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH v3] telemetry: fix race in telemetry control thread creation
@ 2021-07-13  6:16 Alvin Zhang
  2021-08-30  6:44 ` Christian Ehrhardt
  0 siblings, 1 reply; 2+ messages in thread
From: Alvin Zhang @ 2021-07-13  6:16 UTC (permalink / raw)
  To: christian.ehrhardt, LingliX.Chen, YuX.Jiang, ciara.power,
	harry.van.haaren
  Cc: Alvin Zhang, stable

From: Alvin Zhang <alvinzhx@intel.com>

Before the caller returns from function "rte_ctrl_thread_create",
the newly created thread may have ran, and because the thread
control flag was not set before, the new thread may exit soon.
This is not what the developer expected.

This patch puts the setting thread control flag to the place that
before creating new thread.

Reported-at: https://bugs.dpdk.org/show_bug.cgi?id=731
Fixes: 8877ac688b52 ("telemetry: introduce infrastructure")
Cc: stable@dpdk.org

Signed-off-by: Alvin Zhang <alvinzhx@intel.com>
---

v2, v3: update commit log
---
 lib/librte_telemetry/rte_telemetry.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_telemetry/rte_telemetry.c b/lib/librte_telemetry/rte_telemetry.c
index eb20cc6..98d5f91 100644
--- a/lib/librte_telemetry/rte_telemetry.c
+++ b/lib/librte_telemetry/rte_telemetry.c
@@ -1005,10 +1005,10 @@ struct json_data {
 	}
 	TAILQ_INIT(&static_telemetry->client_list_head);
 
+	static_telemetry->thread_status = 1;
 	ret = rte_ctrl_thread_create(&static_telemetry->thread_id,
 		telemetry_ctrl_thread, &attr, rte_telemetry_run_thread_func,
 		(void *)static_telemetry);
-	static_telemetry->thread_status = 1;
 
 	if (ret < 0) {
 		ret = rte_telemetry_cleanup();
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-stable] [PATCH v3] telemetry: fix race in telemetry control thread creation
  2021-07-13  6:16 [dpdk-stable] [PATCH v3] telemetry: fix race in telemetry control thread creation Alvin Zhang
@ 2021-08-30  6:44 ` Christian Ehrhardt
  0 siblings, 0 replies; 2+ messages in thread
From: Christian Ehrhardt @ 2021-08-30  6:44 UTC (permalink / raw)
  To: Alvin Zhang
  Cc: Lingli Chen, Jiang, YuX, Power, Ciara, Van Haaren, Harry,
	Alvin Zhang, dpdk stable

On Tue, Jul 13, 2021 at 8:16 AM Alvin Zhang <alvinx.zhang@intel.com> wrote:
>
> From: Alvin Zhang <alvinzhx@intel.com>
>

This was missing the 19.11 tag and was thereby missed.
It came back via the -rc1 tests of 19.11.10 as it listed the bug again.
Applied now.

> Before the caller returns from function "rte_ctrl_thread_create",
> the newly created thread may have ran, and because the thread
> control flag was not set before, the new thread may exit soon.
> This is not what the developer expected.
>
> This patch puts the setting thread control flag to the place that
> before creating new thread.
>
> Reported-at: https://bugs.dpdk.org/show_bug.cgi?id=731
> Fixes: 8877ac688b52 ("telemetry: introduce infrastructure")
> Cc: stable@dpdk.org
>
> Signed-off-by: Alvin Zhang <alvinzhx@intel.com>
> ---
>
> v2, v3: update commit log
> ---
>  lib/librte_telemetry/rte_telemetry.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_telemetry/rte_telemetry.c b/lib/librte_telemetry/rte_telemetry.c
> index eb20cc6..98d5f91 100644
> --- a/lib/librte_telemetry/rte_telemetry.c
> +++ b/lib/librte_telemetry/rte_telemetry.c
> @@ -1005,10 +1005,10 @@ struct json_data {
>         }
>         TAILQ_INIT(&static_telemetry->client_list_head);
>
> +       static_telemetry->thread_status = 1;
>         ret = rte_ctrl_thread_create(&static_telemetry->thread_id,
>                 telemetry_ctrl_thread, &attr, rte_telemetry_run_thread_func,
>                 (void *)static_telemetry);
> -       static_telemetry->thread_status = 1;
>
>         if (ret < 0) {
>                 ret = rte_telemetry_cleanup();
> --
> 1.8.3.1
>


-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-30  6:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-13  6:16 [dpdk-stable] [PATCH v3] telemetry: fix race in telemetry control thread creation Alvin Zhang
2021-08-30  6:44 ` Christian Ehrhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).