diff --git a/autorun.sh b/autorun.sh
index 230a10b9294bdc783288da18e1f42bd03e5d058d..d615a7abbd588a04a7dc19f8acf9121b149c7de4 100755
--- a/autorun.sh
+++ b/autorun.sh
@@ -15,18 +15,20 @@ run_exp() {
     fi
 }
 
+MIN_THREADS=1 # What is considered "single-threaded". The only exception for this is Caladan, which needs 2 threads minimum
+
 # Common functions for memcached experiments
 # Note that for some cases we can only run part of them;
 # in that case we use run_exp directly instead of these helpers
 run_memcached_qps_scan() {
     [ "$SKIP_QPS_SCAN" == "true" ] && echo "Memcached QPS scan skipped" && return
-    [ "$SKIP_SINGLE_THREAD" == "true" ] || run_exp -e memcached_qps_scan -t 1 $@
-    run_exp -e memcached_qps_scan -t 8 $@
+    [ "$SKIP_SINGLE_THREAD" == "true" ] || run_exp -e memcached_qps_scan -t $MIN_THREADS $@
+    [ "$SKIP_MULTI_THREAD" == "true" ] || run_exp -e memcached_qps_scan -t 8 $@
 }
 
 run_memcached_conn_scan() {
-    [ "$SKIP_SINGLE_THREAD" == "true" ] || run_exp -e memcached_conn_scan -t 1 $@
-    run_exp -e memcached_conn_scan -t 8 $@
+    [ "$SKIP_SINGLE_THREAD" == "true" ] || run_exp -e memcached_conn_scan -t $MIN_THREADS $@
+    [ "$SKIP_MULTI_THREAD" == "true" ] || run_exp -e memcached_conn_scan -t 8 $@
 }
 
 [ "$UID" -ne 0 ] && exit 1
@@ -46,6 +48,13 @@ case "$(uname -r)" in
         SKIP_SINGLE_THREAD=true run_memcached_conn_scan --extra-tuning irq_packing
         SKIP_SINGLE_THREAD=true run_memcached_qps_scan --extra-tuning irq_packing
         ;;
+    5.4.0-136-generic)
+        SKIP_MULTI_THREAD=true run_memcached_conn_scan --fstack
+        SKIP_MULTI_THREAD=true run_memcached_qps_scan --fstack
+
+        MIN_THREADS=2 run_memcached_conn_scan --caladan
+        MIN_THREADS=2 run_memcached_qps_scan --caladan
+        ;;
     *)
         echo "Unsupported kernel"
         ;;