From ea8d71f4f38cee3eb55b6f4c50e12d90ac6411f2 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter.cai@uwaterloo.ca>
Date: Tue, 28 Feb 2023 15:32:14 -0500
Subject: [PATCH] Add experiment type irq_packing

---
 experiments/memcached.shared.sh |  4 ++--
 tunings/base.sh                 |  2 ++
 tunings/irq_packing.sh          | 11 +++++++++++
 3 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 tunings/irq_packing.sh

diff --git a/experiments/memcached.shared.sh b/experiments/memcached.shared.sh
index bff6da4..0ade27c 100644
--- a/experiments/memcached.shared.sh
+++ b/experiments/memcached.shared.sh
@@ -25,8 +25,8 @@ cleanup_memcached() {
 
 start_memcached() {
     echo "Starting memcached"
-    echo "taskset -c 0-$((THREADS - 1)) $MEMCACHED $MEMCACHED_ARGS -u root -t $THREADS -b 16384 -c 32768 -m 10240 -o hashpower=24,no_lru_maintainer,no_lru_crawler" 
-    taskset -c 0-$((THREADS - 1)) $MEMCACHED $MEMCACHED_ARGS -u root -t $THREADS -b 16384 -c 32768 -m 10240 -o hashpower=24,no_lru_maintainer,no_lru_crawler &
+    echo "taskset -c 0-$((THREADS - 1 - THREAD_TAIL_OFFSET)) $MEMCACHED $MEMCACHED_ARGS -u root -t $((THREADS - THREAD_TAIL_OFFSET)) -b 16384 -c 32768 -m 10240 -o hashpower=24,no_lru_maintainer,no_lru_crawler" 
+    taskset -c 0-$((THREADS - 1 - THREAD_TAIL_OFFSET)) $MEMCACHED $MEMCACHED_ARGS -u root -t $((THREADS - THREAD_TAIL_OFFSET)) -b 16384 -c 32768 -m 10240 -o hashpower=24,no_lru_maintainer,no_lru_crawler &
     MEMCACHED_PID=$!
 }
 
diff --git a/tunings/base.sh b/tunings/base.sh
index 0224423..395132c 100644
--- a/tunings/base.sh
+++ b/tunings/base.sh
@@ -25,3 +25,5 @@ sysctl net.core.busy_read=0
 sysctl net.core.dev_weight=64
 sysctl net.core.netdev_budget=300
 sysctl net.core.netdev_budget_usecs=8000
+
+export THREAD_TAIL_OFFSET=0
diff --git a/tunings/irq_packing.sh b/tunings/irq_packing.sh
new file mode 100644
index 0000000..f0d4e1c
--- /dev/null
+++ b/tunings/irq_packing.sh
@@ -0,0 +1,11 @@
+if [ "$THREADS" -ne 8 ]; then
+    echo "IRQ packing can only be done with 8 threads"
+    exit 1
+fi
+
+export THREAD_TAIL_OFFSET=2
+
+# IRQ packing 2-2-6 scheme
+ethtool -L $NET_IF rx 2 tx 8
+$EXP_ROOT/irq.sh set 0 7
+$EXP_ROOT/irq.sh set rx 6 7
-- 
GitLab