diff options
Diffstat (limited to 'benchmarks/ezbench.d')
-rw-r--r-- | benchmarks/ezbench.d/gem_latency.test | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/benchmarks/ezbench.d/gem_latency.test b/benchmarks/ezbench.d/gem_latency.test index a62e1026..22d91b2e 100644 --- a/benchmarks/ezbench.d/gem_latency.test +++ b/benchmarks/ezbench.d/gem_latency.test @@ -33,47 +33,63 @@ done # Measure the wakeup delay (each wakeup should be uncontended) __gem:latency:wait__() { for (( c=0; c<$1; c++ )); do - sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 2 -p $2 -f 2 + sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 2 -p $2 -f 2 $3 done } for p in 1 2 4 8 16 32 64 128 256 512 1024; do name="gem:latency:wait:$p" test_name="$test_name $name" eval "${name}_run() { __gem:latency:wait__ \$1 $p ; } " + + name="gem:latency:wait:$p:fence" + test_name="$test_name $name" + eval "${name}_run() { __gem:latency:wait__ \$1 $p -F ; } " done # Measure the total CPU cycles for the uncontended wakeups __gem:latency:cpu__() { for (( c=0; c<$1; c++ )); do - sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 2 -p $2 -f 4 + sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 2 -p $2 -f 4 $3 done } for p in 1 2 4 8 16 32 64 128 512 1024; do name="gem:latency:cpu:$p" test_name="$test_name $name" eval "${name}_run() { __gem:latency:cpu__ \$1 $p ; } " + + name="gem:latency:cpu:$p:fence" + test_name="$test_name $name" + eval "${name}_run() { __gem:latency:cpu__ \$1 $p -F ; } " done # Measure the wakeup delay for contended wakeups (multiple waiters per request) __gem:latency:herd__() { for (( c=0; c<$1; c++ )); do - sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 1 -c $2 -f 2 + sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 1 -c $2 -f 2 $3 done } for p in 0 1 2 4 8 16 32 64 128 512 1024; do name="gem:latency:herd:$p" test_name="$test_name $name" eval "${name}_run() { __gem:latency:herd__ \$1 $p ; } " + + name="gem:latency:herd:$p:fence" + test_name="$test_name $name" + eval "${name}_run() { __gem:latency:herd__ \$1 $p -F ; } " done # Measure the impact of contended wakeups on the RealTime waiter __gem:latency:realtime__() { for (( c=0; c<$1; c++ )); do - sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 1 -c $2 -R -f 3 + sudo $IGT_BENCHMARKS/gem_latency -t 2 -w 1 -c $2 -R -f 3 $3 done } for p in 0 1 2 4 8 16 32 64 128 512 1024; do name="gem:latency:realtime:$p" test_name="$test_name $name" eval "${name}_run() { __gem:latency:realtime__ \$1 $p ; } " + + name="gem:latency:realtime:$p:fence" + test_name="$test_name $name" + eval "${name}_run() { __gem:latency:realtime__ \$1 $p -F ; } " done |