Benchmark fixups.
[bluesky.git] / microbench / setup / run-benchmark
index bf0bc9e..80bd635 100755 (executable)
@@ -13,6 +13,20 @@ BENCH_WRITERATIO=1.0
 BENCH_THREADS=8
 BENCH_DURATION=120
 BENCH_OPS=100
+BENCH_INTERVALS=4
+BENCH_DIRSIZE=256
+BENCH_LOCKEDMEM=$((4096 - 256))
+
+lock_memory() {
+    MEM=$1
+    while [ $MEM -gt 512 ]; do
+        /scratch/bluesky.git/microbench/lockmem 512 &
+        MEM=$(($MEM - 512))
+    done
+    if [ $MEM -gt 0 ]; then
+        /scratch/bluesky.git/microbench/lockmem $MEM &
+    fi
+}
 
 # Export any environment variables specified on the command line
 for e in "$@"; do
@@ -24,24 +38,23 @@ for e in "$@"; do
 done
 
 # Prepare to run the benchmark
+lock_memory $BENCH_LOCKEDMEM
+
 mount -t nfs -o vers=3,tcp,rw,soft,intr $SERVER:/export $MNTDIR
 
 pushd $MNTDIR >/dev/null
 
-for t in $(seq 0 $(($BENCH_THREADS - 1))); do
-    mkdir t$t
-    for i in $(seq 0 $(($BENCH_FILECOUNT - 1))); do
-        dd if=/dev/zero of=t$t/$i bs=$BENCH_FILESIZE count=1
-    done
-done
-
 /scratch/bluesky.git/microbench/mixedbench \
     $BENCH_FILESIZE \
     $BENCH_FILECOUNT \
     $BENCH_WRITERATIO \
     $BENCH_THREADS \
     $BENCH_DURATION \
-    $BENCH_OPS
+    $BENCH_OPS \
+    $BENCH_INTERVALS \
+    $BENCH_DIRSIZE
+
+pkill -TERM lockmem
 
 popd >/dev/null