diff mbox series

[net] selftests/net/lib: update busywait timeout value

Message ID 20240122090544.1202880-1-liuhangbin@gmail.com (mailing list archive)
State Accepted
Commit fc836129f708407502632107e58d48f54b1caf75
Headers show
Series [net] selftests/net/lib: update busywait timeout value | expand

Commit Message

Hangbin Liu Jan. 22, 2024, 9:05 a.m. UTC
The busywait timeout value is a millisecond, not a second. So the
current setting 2 is meaningless. Let's copy the WAIT_TIMEOUT from
forwarding/lib.sh and set a BUSYWAIT_TIMEOUT here.

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
Not sure if the default WAIT_TIMEOUT 20s is too large. But since
we usually don't need to wait for that long. I think it's OK to
stay the same value with forwarding/lib.sh. Please tell me if you
think we need to set a more proper value.

BTW, This doesn't look like a fix. But also not a feature. So I just
post it to net tree.
---
 tools/testing/selftests/net/lib.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Paolo Abeni Jan. 23, 2024, 11:20 a.m. UTC | #1
On Mon, 2024-01-22 at 17:05 +0800, Hangbin Liu wrote:
> The busywait timeout value is a millisecond, not a second. So the
> current setting 2 is meaningless. Let's copy the WAIT_TIMEOUT from
> forwarding/lib.sh and set a BUSYWAIT_TIMEOUT here.
> 
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> ---
> Not sure if the default WAIT_TIMEOUT 20s is too large. But since
> we usually don't need to wait for that long. I think it's OK to
> stay the same value with forwarding/lib.sh. Please tell me if you
> think we need to set a more proper value.
> 
> BTW, This doesn't look like a fix. But also not a feature. So I just
> post it to net tree.

I think the 20s max timeout is fine.

I also think this is really a fix: on slow/busy host (or VMs) the
current timeout can expire even on "correct" execution, causing random
failures. We had a lot of similar case in the mptcp self-tests in the
past.

Could you please send a v2 with a suitable fixes tag and an update
changelog to point out the possible failures?

Thanks!

Paolo
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh
index dca549443801..f9fe182dfbd4 100644
--- a/tools/testing/selftests/net/lib.sh
+++ b/tools/testing/selftests/net/lib.sh
@@ -4,6 +4,9 @@ 
 ##############################################################################
 # Defines
 
+WAIT_TIMEOUT=${WAIT_TIMEOUT:=20}
+BUSYWAIT_TIMEOUT=$((WAIT_TIMEOUT * 1000)) # ms
+
 # Kselftest framework requirement - SKIP code is 4.
 ksft_skip=4
 # namespace list created by setup_ns
@@ -48,7 +51,7 @@  cleanup_ns()
 
 	for ns in "$@"; do
 		ip netns delete "${ns}" &> /dev/null
-		if ! busywait 2 ip netns list \| grep -vq "^$ns$" &> /dev/null; then
+		if ! busywait $BUSYWAIT_TIMEOUT ip netns list \| grep -vq "^$ns$" &> /dev/null; then
 			echo "Warn: Failed to remove namespace $ns"
 			ret=1
 		fi