From 99c015af48f55b63df26e3c45bbff4d3c1fcb54b Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 19 May 2016 15:20:38 +0100 Subject: benchmarks: Add gem_exec_fault If we specify an unobtainable alignment (e.g, 63bits) the kernel will eviction the object from the GTT and fail to rebind it. We can use this, to measure how long it takes to move objects around in the GTT by running execbuf followed by the unbind. For small objects, this will be dominated by the nop execution time, but for larger objects this will be ratelimited by how fast we can rewrite the PTE. Signed-off-by: Chris Wilson --- benchmarks/ezbench.d/gem_exec_fault.test | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 benchmarks/ezbench.d/gem_exec_fault.test (limited to 'benchmarks/ezbench.d') diff --git a/benchmarks/ezbench.d/gem_exec_fault.test b/benchmarks/ezbench.d/gem_exec_fault.test new file mode 100644 index 00000000..e9f2fcdd --- /dev/null +++ b/benchmarks/ezbench.d/gem_exec_fault.test @@ -0,0 +1,22 @@ +[ -e $IGT_BENCHMARKS/gem_exec_fault ] || return 1 +sudo -n true || return 1 + +ring=rcs # rcs bcs vcs vecs all +while read x size; do + name="gem:exec:fault:$size" + test_name="$test_name $name" + eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_fault -s $x -e $ring -r \$1 ; }" + + name="gem:exec:fault:$size:forked" + test_name="$test_name $name" + eval "${name}_run() { sudo $IGT_BENCHMARKS/gem_exec_fault -f -s $x -e $ring -r \$1 ; }" +done<