diff --git a/experiments/memcached.shared.sh b/experiments/memcached.shared.sh index bff6da45f8b10ae356accf665ac654cf67a49591..0ade27c0f421fdd9e27e944ffc1bd45399c9ef68 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 0224423d03cf4cf5b07765190255fb69380a9f06..395132c801dd9f730bb17cdfba65d9a1ef5cee4f 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 0000000000000000000000000000000000000000..f0d4e1c97473f1df12202f623518b1b87dda1224 --- /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