DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts
@ 2018-02-22 15:43 Anatoly Burakov
  2018-02-22 15:43 ` [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths Anatoly Burakov
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Anatoly Burakov @ 2018-02-22 15:43 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
Cc: jianfeng.tan@intel.com
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_proc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index caa8774..e4d8104 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -583,7 +583,7 @@ mp_request_one(const char *dst, struct rte_mp_msg *req,
 		/* Check if time is out */
 		if (gettimeofday(&now, NULL) < 0)
 			break;
-		if (now.tv_sec < ts->tv_sec)
+		if (ts->tv_sec < now.tv_sec)
 			break;
 		else if (now.tv_sec == ts->tv_sec &&
 			 now.tv_usec * 1000 < ts->tv_nsec)
-- 
2.7.4

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

* [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
@ 2018-02-22 15:43 ` Anatoly Burakov
  2018-02-23  3:14   ` Tan, Jianfeng
  2018-02-22 15:44 ` [dpdk-dev] [PATCH 3/4] eal: fix IPC request " Anatoly Burakov
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Anatoly Burakov @ 2018-02-22 15:43 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
Cc: jianfeng.tan@intel.com
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_proc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index e4d8104..ec60d16 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -489,10 +489,14 @@ mp_send(struct rte_mp_msg *msg, const char *peer, int type)
 		return -1;
 	}
 	while ((ent = readdir(mp_dir))) {
+		char path[PATH_MAX];
+
 		if (fnmatch(mp_filter, ent->d_name, 0) != 0)
 			continue;
 
-		if (send_msg(ent->d_name, msg, type) < 0)
+		snprintf(path, sizeof(path), "%s/%s", mp_dir_path,
+			 ent->d_name);
+		if (send_msg(path, msg, type) < 0)
 			ret = -1;
 	}
 
-- 
2.7.4

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

* [dpdk-dev] [PATCH 3/4] eal: fix IPC request socket paths
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
  2018-02-22 15:43 ` [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths Anatoly Burakov
@ 2018-02-22 15:44 ` Anatoly Burakov
  2018-02-23  3:15   ` Tan, Jianfeng
  2018-02-22 15:44 ` [dpdk-dev] [PATCH 4/4] eal: fix handling of errno values in IPC Anatoly Burakov
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Anatoly Burakov @ 2018-02-22 15:44 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
Cc: jianfeng.tan@intel.com
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_proc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index ec60d16..2dddcaf 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -658,10 +658,15 @@ rte_mp_request(struct rte_mp_msg *req, struct rte_mp_reply *reply,
 	}
 
 	while ((ent = readdir(mp_dir))) {
+		char path[PATH_MAX];
+
 		if (fnmatch(mp_filter, ent->d_name, 0) != 0)
 			continue;
 
-		if (mp_request_one(ent->d_name, req, reply, &end))
+		snprintf(path, sizeof(path), "%s/%s", mp_dir_path,
+			 ent->d_name);
+
+		if (mp_request_one(path, req, reply, &end))
 			ret = -1;
 	}
 
-- 
2.7.4

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

* [dpdk-dev] [PATCH 4/4] eal: fix handling of errno values in IPC
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
  2018-02-22 15:43 ` [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths Anatoly Burakov
  2018-02-22 15:44 ` [dpdk-dev] [PATCH 3/4] eal: fix IPC request " Anatoly Burakov
@ 2018-02-22 15:44 ` Anatoly Burakov
  2018-02-23  3:16   ` Tan, Jianfeng
  2018-02-23  3:11 ` [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Tan, Jianfeng
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Anatoly Burakov @ 2018-02-22 15:44 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
Cc: jianfeng.tan@intel.com
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_proc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index 2dddcaf..3a1088e 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -444,13 +444,13 @@ send_msg(const char *dst_path, struct rte_mp_msg *msg, int type)
 	if (snd < 0) {
 		rte_errno = errno;
 		/* Check if it caused by peer process exits */
-		if (errno == -ECONNREFUSED) {
+		if (errno == ECONNREFUSED) {
 			/* We don't unlink the primary's socket here */
 			if (rte_eal_process_type() == RTE_PROC_PRIMARY)
 				unlink_socket_by_path(dst_path);
 			return 0;
 		}
-		if (errno == -ENOBUFS) {
+		if (errno == ENOBUFS) {
 			RTE_LOG(ERR, EAL, "Peer cannot receive message %s\n",
 				dst_path);
 			return 0;
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
                   ` (2 preceding siblings ...)
  2018-02-22 15:44 ` [dpdk-dev] [PATCH 4/4] eal: fix handling of errno values in IPC Anatoly Burakov
@ 2018-02-23  3:11 ` Tan, Jianfeng
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 1/5] " Anatoly Burakov
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Tan, Jianfeng @ 2018-02-23  3:11 UTC (permalink / raw)
  To: Burakov, Anatoly, dev



> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Thursday, February 22, 2018 11:44 PM
> To: dev@dpdk.org
> Cc: Tan, Jianfeng
> Subject: [PATCH 1/4] eal: fix IPC timeouts
> 
> Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
> Cc: jianfeng.tan@intel.com
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>

Thank you for identifying and fixing this bug.

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

* Re: [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths
  2018-02-22 15:43 ` [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths Anatoly Burakov
@ 2018-02-23  3:14   ` Tan, Jianfeng
  0 siblings, 0 replies; 15+ messages in thread
From: Tan, Jianfeng @ 2018-02-23  3:14 UTC (permalink / raw)
  To: Burakov, Anatoly, dev



> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Thursday, February 22, 2018 11:44 PM
> To: dev@dpdk.org
> Cc: Tan, Jianfeng
> Subject: [PATCH 2/4] eal: fix IPC socket paths
> 
> Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
> Cc: jianfeng.tan@intel.com
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>

Thanks!

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

* Re: [dpdk-dev] [PATCH 3/4] eal: fix IPC request socket paths
  2018-02-22 15:44 ` [dpdk-dev] [PATCH 3/4] eal: fix IPC request " Anatoly Burakov
@ 2018-02-23  3:15   ` Tan, Jianfeng
  0 siblings, 0 replies; 15+ messages in thread
From: Tan, Jianfeng @ 2018-02-23  3:15 UTC (permalink / raw)
  To: Burakov, Anatoly, dev



> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Thursday, February 22, 2018 11:44 PM
> To: dev@dpdk.org
> Cc: Tan, Jianfeng
> Subject: [PATCH 3/4] eal: fix IPC request socket paths
> 
> Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
> Cc: jianfeng.tan@intel.com
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>

Thanks!

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

* Re: [dpdk-dev] [PATCH 4/4] eal: fix handling of errno values in IPC
  2018-02-22 15:44 ` [dpdk-dev] [PATCH 4/4] eal: fix handling of errno values in IPC Anatoly Burakov
@ 2018-02-23  3:16   ` Tan, Jianfeng
  0 siblings, 0 replies; 15+ messages in thread
From: Tan, Jianfeng @ 2018-02-23  3:16 UTC (permalink / raw)
  To: Burakov, Anatoly, dev



> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Thursday, February 22, 2018 11:44 PM
> To: dev@dpdk.org
> Cc: Tan, Jianfeng
> Subject: [PATCH 4/4] eal: fix handling of errno values in IPC
> 
> Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
> Cc: jianfeng.tan@intel.com
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>

Thanks!

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

* [dpdk-dev] [PATCH v2 1/5] eal: fix IPC timeouts
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
                   ` (3 preceding siblings ...)
  2018-02-23  3:11 ` [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Tan, Jianfeng
@ 2018-03-02  8:41 ` Anatoly Burakov
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 2/5] eal: fix IPC socket paths Anatoly Burakov
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Anatoly Burakov @ 2018-03-02  8:41 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
Cc: jianfeng.tan@intel.com

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
---

Notes:
    v2: no changes

 lib/librte_eal/common/eal_common_proc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index caa8774..e4d8104 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -583,7 +583,7 @@ mp_request_one(const char *dst, struct rte_mp_msg *req,
 		/* Check if time is out */
 		if (gettimeofday(&now, NULL) < 0)
 			break;
-		if (now.tv_sec < ts->tv_sec)
+		if (ts->tv_sec < now.tv_sec)
 			break;
 		else if (now.tv_sec == ts->tv_sec &&
 			 now.tv_usec * 1000 < ts->tv_nsec)
-- 
2.7.4

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

* [dpdk-dev] [PATCH v2 2/5] eal: fix IPC socket paths
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
                   ` (4 preceding siblings ...)
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 1/5] " Anatoly Burakov
@ 2018-03-02  8:41 ` Anatoly Burakov
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 3/5] eal: fix IPC request " Anatoly Burakov
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Anatoly Burakov @ 2018-03-02  8:41 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
Cc: jianfeng.tan@intel.com

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
---

Notes:
    v2: no changes

 lib/librte_eal/common/eal_common_proc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index e4d8104..ec60d16 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -489,10 +489,14 @@ mp_send(struct rte_mp_msg *msg, const char *peer, int type)
 		return -1;
 	}
 	while ((ent = readdir(mp_dir))) {
+		char path[PATH_MAX];
+
 		if (fnmatch(mp_filter, ent->d_name, 0) != 0)
 			continue;
 
-		if (send_msg(ent->d_name, msg, type) < 0)
+		snprintf(path, sizeof(path), "%s/%s", mp_dir_path,
+			 ent->d_name);
+		if (send_msg(path, msg, type) < 0)
 			ret = -1;
 	}
 
-- 
2.7.4

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

* [dpdk-dev] [PATCH v2 3/5] eal: fix IPC request socket paths
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
                   ` (5 preceding siblings ...)
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 2/5] eal: fix IPC socket paths Anatoly Burakov
@ 2018-03-02  8:41 ` Anatoly Burakov
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 4/5] eal: fix handling of errno values in IPC Anatoly Burakov
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests Anatoly Burakov
  8 siblings, 0 replies; 15+ messages in thread
From: Anatoly Burakov @ 2018-03-02  8:41 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
Cc: jianfeng.tan@intel.com

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
---

Notes:
    v2: no changes

 lib/librte_eal/common/eal_common_proc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index ec60d16..2dddcaf 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -658,10 +658,15 @@ rte_mp_request(struct rte_mp_msg *req, struct rte_mp_reply *reply,
 	}
 
 	while ((ent = readdir(mp_dir))) {
+		char path[PATH_MAX];
+
 		if (fnmatch(mp_filter, ent->d_name, 0) != 0)
 			continue;
 
-		if (mp_request_one(ent->d_name, req, reply, &end))
+		snprintf(path, sizeof(path), "%s/%s", mp_dir_path,
+			 ent->d_name);
+
+		if (mp_request_one(path, req, reply, &end))
 			ret = -1;
 	}
 
-- 
2.7.4

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

* [dpdk-dev] [PATCH v2 4/5] eal: fix handling of errno values in IPC
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
                   ` (6 preceding siblings ...)
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 3/5] eal: fix IPC request " Anatoly Burakov
@ 2018-03-02  8:41 ` Anatoly Burakov
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests Anatoly Burakov
  8 siblings, 0 replies; 15+ messages in thread
From: Anatoly Burakov @ 2018-03-02  8:41 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
Cc: jianfeng.tan@intel.com

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
---

Notes:
    v2: no changes

 lib/librte_eal/common/eal_common_proc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index 2dddcaf..3a1088e 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -444,13 +444,13 @@ send_msg(const char *dst_path, struct rte_mp_msg *msg, int type)
 	if (snd < 0) {
 		rte_errno = errno;
 		/* Check if it caused by peer process exits */
-		if (errno == -ECONNREFUSED) {
+		if (errno == ECONNREFUSED) {
 			/* We don't unlink the primary's socket here */
 			if (rte_eal_process_type() == RTE_PROC_PRIMARY)
 				unlink_socket_by_path(dst_path);
 			return 0;
 		}
-		if (errno == -ENOBUFS) {
+		if (errno == ENOBUFS) {
 			RTE_LOG(ERR, EAL, "Peer cannot receive message %s\n",
 				dst_path);
 			return 0;
-- 
2.7.4

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

* [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests
  2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
                   ` (7 preceding siblings ...)
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 4/5] eal: fix handling of errno values in IPC Anatoly Burakov
@ 2018-03-02  8:41 ` Anatoly Burakov
  2018-03-07 14:06   ` Tan, Jianfeng
  8 siblings, 1 reply; 15+ messages in thread
From: Anatoly Burakov @ 2018-03-02  8:41 UTC (permalink / raw)
  To: dev; +Cc: jianfeng.tan

Unlocking the action list before sending message and locking it
again aftterwards introduces a window where a response might
arrive before we have a chance to start waiting on a condition,
resulting in timeouts on valid messages.

Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
Cc: jianfeng.tan@intel.com

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---

Notes:
    v2: added this patch

 lib/librte_eal/common/eal_common_proc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index 3a1088e..da7930f 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -561,10 +561,10 @@ mp_request_one(const char *dst, struct rte_mp_msg *req,
 	exist = find_sync_request(dst, req->name);
 	if (!exist)
 		TAILQ_INSERT_TAIL(&sync_requests.requests, &sync_req, next);
-	pthread_mutex_unlock(&sync_requests.lock);
 	if (exist) {
 		RTE_LOG(ERR, EAL, "A pending request %s:%s\n", dst, req->name);
 		rte_errno = EEXIST;
+		pthread_mutex_unlock(&sync_requests.lock);
 		return -1;
 	}
 
@@ -578,7 +578,6 @@ mp_request_one(const char *dst, struct rte_mp_msg *req,
 
 	reply->nb_sent++;
 
-	pthread_mutex_lock(&sync_requests.lock);
 	do {
 		pthread_cond_timedwait(&sync_req.cond, &sync_requests.lock, ts);
 		/* Check spurious wakeups */
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests
  2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests Anatoly Burakov
@ 2018-03-07 14:06   ` Tan, Jianfeng
  2018-03-21  8:51     ` Thomas Monjalon
  0 siblings, 1 reply; 15+ messages in thread
From: Tan, Jianfeng @ 2018-03-07 14:06 UTC (permalink / raw)
  To: Anatoly Burakov, dev



On 3/2/2018 4:41 PM, Anatoly Burakov wrote:
> Unlocking the action list before sending message and locking it
> again aftterwards introduces a window where a response might

Typo: afterwards

> arrive before we have a chance to start waiting on a condition,
> resulting in timeouts on valid messages.
>
> Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
> Cc: jianfeng.tan@intel.com
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>

Thank you for catching another bug :-)

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

* Re: [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests
  2018-03-07 14:06   ` Tan, Jianfeng
@ 2018-03-21  8:51     ` Thomas Monjalon
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Monjalon @ 2018-03-21  8:51 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dev, Tan, Jianfeng

07/03/2018 15:06, Tan, Jianfeng:
> 
> On 3/2/2018 4:41 PM, Anatoly Burakov wrote:
> > Unlocking the action list before sending message and locking it
> > again aftterwards introduces a window where a response might
> 
> Typo: afterwards
> 
> > arrive before we have a chance to start waiting on a condition,
> > resulting in timeouts on valid messages.
> >
> > Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
> > Cc: jianfeng.tan@intel.com
> >
> > Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 
> Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
> 
> Thank you for catching another bug :-)

Series applied, thanks

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

end of thread, other threads:[~2018-03-21  8:51 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-22 15:43 [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Anatoly Burakov
2018-02-22 15:43 ` [dpdk-dev] [PATCH 2/4] eal: fix IPC socket paths Anatoly Burakov
2018-02-23  3:14   ` Tan, Jianfeng
2018-02-22 15:44 ` [dpdk-dev] [PATCH 3/4] eal: fix IPC request " Anatoly Burakov
2018-02-23  3:15   ` Tan, Jianfeng
2018-02-22 15:44 ` [dpdk-dev] [PATCH 4/4] eal: fix handling of errno values in IPC Anatoly Burakov
2018-02-23  3:16   ` Tan, Jianfeng
2018-02-23  3:11 ` [dpdk-dev] [PATCH 1/4] eal: fix IPC timeouts Tan, Jianfeng
2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 1/5] " Anatoly Burakov
2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 2/5] eal: fix IPC socket paths Anatoly Burakov
2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 3/5] eal: fix IPC request " Anatoly Burakov
2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 4/5] eal: fix handling of errno values in IPC Anatoly Burakov
2018-03-02  8:41 ` [dpdk-dev] [PATCH v2 5/5] eal: fix race condition in IPC requests Anatoly Burakov
2018-03-07 14:06   ` Tan, Jianfeng
2018-03-21  8:51     ` Thomas Monjalon

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).