All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev]  [PATCH 1/2] test/bonding: fix LSC related test cases
@ 2019-08-23  8:16 kkanas
  2019-08-23  8:16 ` [dpdk-dev] [PATCH 2/2] test/bonding: fix LSC timeout unit kkanas
  2019-10-08 18:48 ` [dpdk-dev] [PATCH 1/2] test/bonding: fix LSC related test cases Yigit, Ferruh
  0 siblings, 2 replies; 3+ messages in thread
From: kkanas @ 2019-08-23  8:16 UTC (permalink / raw)
  To: dev, Chas Williams; +Cc: Krzysztof Kanas, declan.doherty

From: Krzysztof Kanas <kkanas@marvell.com>

On rare situation test_link_bonding test case fail due to timespec
tv_nsec overflow, which causes pthread_cond_timedwait to return EINVAL
and test to fail.

Fixes: 76d29903f5f5 ("bond: support link status interrupt")
Cc: declan.doherty@intel.com

Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
---
 app/test/test_link_bonding.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 938fafca3a95..1cfa77278376 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -1160,6 +1160,12 @@ lsc_timeout(int wait_us)
 	ts.tv_sec = tp.tv_sec;
 	ts.tv_nsec = tp.tv_usec * 1000;
 	ts.tv_nsec += wait_us * 1000;
+	/* Normalize tv_nsec to [0,999999999L] */
+	while (ts.tv_nsec > 1000000000L) {
+		ts.tv_nsec -= 1000000000L;
+		ts.tv_sec += 1;
+	}
+
 
 	pthread_mutex_lock(&mutex);
 	if (test_lsc_interrupt_count < 1)
-- 
2.21.0


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

end of thread, other threads:[~2019-10-08 18:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-23  8:16 [dpdk-dev] [PATCH 1/2] test/bonding: fix LSC related test cases kkanas
2019-08-23  8:16 ` [dpdk-dev] [PATCH 2/2] test/bonding: fix LSC timeout unit kkanas
2019-10-08 18:48 ` [dpdk-dev] [PATCH 1/2] test/bonding: fix LSC related test cases Yigit, Ferruh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.