When running tests in parallel with high JOBS count (e.g., JOBS=64),
the existing timeouts can be insufficient due to system load:

- Increase state wait loops from 20/50 to 100 iterations in
  _recover_ublk_dev(), __ublk_quiesce_dev(), and __ublk_kill_daemon()
  to handle slower state transitions under heavy load

- Add --timeout=20 to udevadm settle calls to prevent indefinite
  hangs when udev event queue is overwhelmed by rapid device
  creation/deletion

Signed-off-by: Ming Lei <[email protected]>
---
 tools/testing/selftests/ublk/test_common.sh | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/ublk/test_common.sh 
b/tools/testing/selftests/ublk/test_common.sh
index bd27a6875c1a..c3afd00783a2 100755
--- a/tools/testing/selftests/ublk/test_common.sh
+++ b/tools/testing/selftests/ublk/test_common.sh
@@ -216,7 +216,7 @@ _create_ublk_dev() {
        fi
 
        if [ "$settle" = "yes" ]; then
-               udevadm settle
+               udevadm settle --timeout=20
        fi
 
        if [[ "$dev_id" =~ ^[0-9]+$ ]]; then
@@ -240,7 +240,7 @@ _recover_ublk_dev() {
        local state
 
        dev_id=$(_create_ublk_dev "recover" "yes" "$@")
-       for ((j=0;j<20;j++)); do
+       for ((j=0;j<100;j++)); do
                state=$(_get_ublk_dev_state "${dev_id}")
                [ "$state" == "LIVE" ] && break
                sleep 1
@@ -260,7 +260,7 @@ __ublk_quiesce_dev()
                return "$state"
        fi
 
-       for ((j=0;j<50;j++)); do
+       for ((j=0;j<100;j++)); do
                state=$(_get_ublk_dev_state "${dev_id}")
                [ "$state" == "$exp_state" ] && break
                sleep 1
@@ -279,7 +279,7 @@ __ublk_kill_daemon()
        daemon_pid=$(_get_ublk_daemon_pid "${dev_id}")
        state=$(_get_ublk_dev_state "${dev_id}")
 
-       for ((j=0;j<50;j++)); do
+       for ((j=0;j<100;j++)); do
                [ "$state" == "$exp_state" ] && break
                kill -9 "$daemon_pid" > /dev/null 2>&1
                sleep 1
@@ -304,7 +304,7 @@ __remove_ublk_dev_return() {
 
        _ublk_del_dev "${dev_id}"
        local res=$?
-       udevadm settle
+       udevadm settle --timeout=20
        return ${res}
 }
 
-- 
2.47.0


Reply via email to