From 111db10e2bbf91445ea72e854f221d426afee7f2 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter.cai@uwaterloo.ca>
Date: Fri, 3 Mar 2023 15:08:24 -0500
Subject: [PATCH] Update perf stats, and workaround connection establishment
 delay with F-Stack

---
 autorun.sh                      | 4 ++++
 experiments/memcached.shared.sh | 1 +
 experiments/perf.shared.sh      | 2 +-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/autorun.sh b/autorun.sh
index d615a7a..ea0ed3d 100755
--- a/autorun.sh
+++ b/autorun.sh
@@ -54,6 +54,10 @@ case "$(uname -r)" in
 
         MIN_THREADS=2 run_memcached_conn_scan --caladan
         MIN_THREADS=2 run_memcached_qps_scan --caladan
+
+        # Extra experiments for Caladan
+        run_exp -e memcached_conn_scan --caladan -t 4
+        run_exp -e memcached_conn_scan --caladan -t 6
         ;;
     *)
         echo "Unsupported kernel"
diff --git a/experiments/memcached.shared.sh b/experiments/memcached.shared.sh
index fcd1fa7..9b5c6c4 100644
--- a/experiments/memcached.shared.sh
+++ b/experiments/memcached.shared.sh
@@ -66,6 +66,7 @@ memcached_pre_start() {
 
     if [ "$FSTACK" == "true" ]; then
         MEMCACHED="$MEMCACHED_FSTACK"
+        PERF_EXTRA_ARGS="-D 15000" # Account for S-Stack connection establishment delay
     elif [ "$CALADAN" == "true" ]; then
         MEMCACHED="$MEMCACHED_CALADAN"
         MEMCACHED_ARGS="$MEMCACHED_ARGS $CALADAN_CONFIG -p 11211"
diff --git a/experiments/perf.shared.sh b/experiments/perf.shared.sh
index ab082a2..ab8c8b8 100644
--- a/experiments/perf.shared.sh
+++ b/experiments/perf.shared.sh
@@ -1,5 +1,5 @@
 perf_stat_start() {
-    $PERF stat -C 0-$((THREADS - 1)) -e LLC-load-misses:u,LLC-load-misses:k,LLC-loads:u,LLC-loads:k,LLC-store-misses:u,LLC-store-misses:k,LLC-stores:u,LLC-stores:k,task-clock,cycles:u,cycles:k,instructions:u,instructions:k -o "$DATA_OUT/stat_$1$EXP_AUX_SUFFIX.txt" &
+    $PERF stat $PERF_EXTRA_ARGS -C 0-$((THREADS - 1)) -e LLC-load-misses:u,LLC-load-misses:k,LLC-loads:u,LLC-loads:k,LLC-store-misses:u,LLC-store-misses:k,LLC-stores:u,LLC-stores:k,task-clock,cycles:u,cycles:k,instructions:u,instructions:k -o "$DATA_OUT/stat_$1$EXP_AUX_SUFFIX.txt" &
     PERF_STAT_PID=$!
 }
 
-- 
GitLab