1*d83cc019SAndroid Build Coastguard Worker# This outputs a graph of time(N), the time it takes to write 1<<N bytes in us. 2*d83cc019SAndroid Build Coastguard Worker# e.g. 0 1 2 4 8 16 32 3*d83cc019SAndroid Build Coastguard Worker# The last value is for 4M, convert that to MiB/s for comparison 4*d83cc019SAndroid Build Coastguard Worker# 5*d83cc019SAndroid Build Coastguard Worker# Ideally we want to run this per ring, 6*d83cc019SAndroid Build Coastguard Worker# gem_exec_nop:rcs, gem_exec_nop:bcs, gem_exec_nop:vcs 7*d83cc019SAndroid Build Coastguard Worker# though for the time being just one will suffice 8*d83cc019SAndroid Build Coastguard Worker 9*d83cc019SAndroid Build Coastguard Worker[ -e $IGT_BENCHMARKS/gem_prw ] || return 1 10*d83cc019SAndroid Build Coastguard Workersudo -n true || return 1 11*d83cc019SAndroid Build Coastguard Worker 12*d83cc019SAndroid Build Coastguard Workerfor j in read write; do 13*d83cc019SAndroid Build Coastguard Worker for i in cpu gtt; do 14*d83cc019SAndroid Build Coastguard Worker test_name="$test_name gem:p$j:$i" 15*d83cc019SAndroid Build Coastguard Worker eval "gem:p$j:${i}_run() { sudo $IGT_BENCHMARKS/gem_prw -D $j -d $i -r \$1 ; }" 16*d83cc019SAndroid Build Coastguard Worker eval "gem:p$j:${i}_process() { bc -l <<< \" 4*1000000 / \${@: -1} \" ; }" 17*d83cc019SAndroid Build Coastguard Worker done 18*d83cc019SAndroid Build Coastguard Workerdone 19*d83cc019SAndroid Build Coastguard Worker 20*d83cc019SAndroid Build Coastguard Workertest_exec_time=1 21