diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e3ad9d2134..7107a36605 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -876,6 +876,7 @@ fluster v4l2-stateless on visl:
   stage: 'test'
   variables:
     EXTRA_VALIDATE_ARGS: "--valgrind"
+  timeout: "1h30m"
   rules:
     - changes:
         compare_to: "$GST_UPSTREAM_BRANCH"
diff --git a/ci/scripts/test.sh b/ci/scripts/test.sh
index e3a59b6eb2..3c3d2976d7 100755
--- a/ci/scripts/test.sh
+++ b/ci/scripts/test.sh
@@ -10,6 +10,9 @@ fi
 
 set -eux
 
+_jobs=$(nproc || sysctl -n hw.ncpu)
+jobs="${FDO_CI_CONCURRENT:-$_jobs}"
+
 timeout="${TIMEOUT_FACTOR:="2"}"
 validate="${EXTRA_VALIDATE_ARGS:=""}"
 parent="${CI_PROJECT_DIR:-$(pwd)}"
@@ -20,6 +23,7 @@ echo "-> Running $tests"
 ./gst-env.py \
     "--builddir=$builddir" \
     gst-validate-launcher "$tests" \
+    --jobs "$jobs" \
     --check-bugs \
     --dump-on-failure \
     --mute \