diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-06-03 10:43:09 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-06-03 20:30:53 +0100 |
commit | 05ca171aa9a6902614241f9685de2f62f30126d8 (patch) | |
tree | 50f9b2ee0be3a15ecbc1a299aeb9d392ad4a6797 /benchmarks/ezbench.d | |
parent | 32940a071c9344a0bf8e8e3226ea66f5feceee30 (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.test | 23 |
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 |