[dpdk-dev] [PATCH 1/2] test/bonding: fix LSC related test cases

kkanas at marvell.com kkanas at marvell.com
Fri Aug 23 10:16:58 CEST 2019


From: Krzysztof Kanas <kkanas at 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 at intel.com

Signed-off-by: Krzysztof Kanas <kkanas at 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



More information about the dev mailing list