summaryrefslogtreecommitdiff
path: root/benchmarks/ezbench.d
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-06-03 10:43:09 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-06-03 20:30:53 +0100
commit05ca171aa9a6902614241f9685de2f62f30126d8 (patch)
tree50f9b2ee0be3a15ecbc1a299aeb9d392ad4a6797 /benchmarks/ezbench.d
parent32940a071c9344a0bf8e8e3226ea66f5feceee30 (diff)
benchmarks/gem_exec_nop: Extend submission to check write inter-engine sync
Currently, we look at the throughput for submitting a read batch to a single engine or any. The kernel optimises for this by allowing multiple engine to read at the same time, but writes are exclusive to a single engine. So lets try to measure the impact of inserting the barriers between writes on different engines. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'benchmarks/ezbench.d')
-rw-r--r--benchmarks/ezbench.d/gem_exec_nop.test23
1 files changed, 17 insertions, 6 deletions
diff --git a/benchmarks/ezbench.d/gem_exec_nop.test b/benchmarks/ezbench.d/gem_exec_nop.test
index 7f6cc00e..1c3c4b56 100644
--- a/benchmarks/ezbench.d/gem_exec_nop.test
+++ b/benchmarks/ezbench.d/gem_exec_nop.test
@@ -2,17 +2,28 @@
sudo -n true || return 1
for ring in rcs bcs vcs vecs all; do
- name="gem:exec:nop:$ring:single"
+while read label mode; do
+ name="gem:exec:$label:$ring:single"
test_name="$test_name $name"
- eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop -s -e $ring -r \$1 ; }"
+ eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop $mode -s -e $ring -r \$1 ; }"
- name="gem:exec:nop:$ring:forked"
+ name="gem:exec:$label:$ring:single:forked"
test_name="$test_name $name"
- eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop -f -s -e $ring -r \$1 ; }"
+ eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop $mode -f -s -e $ring -r \$1 ; }"
- name="gem:exec:nop:$ring:continuous"
+ name="gem:exec:$label:$ring:continuous"
test_name="$test_name $name"
- eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop -e $ring -r \$1 ; }"
+ eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop $mode -e $ring -r \$1 ; }"
+
+ name="gem:exec:$label:$ring:continuous:forked"
+ test_name="$test_name $name"
+ eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_nop $mode -f -e $ring -r \$1 ; }"
+done<<MODES
+nop
+write -W
+read -R
+rw -R -W
+MODES
done
test_exec_time=3