mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-18 21:36:27 +00:00
44 lines
891 B
Bash
Executable File
44 lines
891 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Testcase: Simulate gpu hang
|
|
#
|
|
# This check uses the stop_rings facility to exercise the gpu hang code.
|
|
# by reading /sys/kernel/debug/dri/0/i915_emon_status too quickly
|
|
#
|
|
|
|
SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
|
|
. $SOURCE_DIR/drm_lib.sh
|
|
|
|
cd $i915_path
|
|
|
|
if [ ! -f i915_ring_stop ] ; then
|
|
echo "kernel doesn't support ring stopping"
|
|
exit 77
|
|
fi
|
|
|
|
if cat i915_error_state | grep -v "no error state collected" > /dev/null ; then
|
|
echo "gpu hang dectected"
|
|
exit 1
|
|
fi
|
|
|
|
# stop rings
|
|
echo 0xf > i915_ring_stop
|
|
|
|
# need to run it twice, otherwise there are no waiters
|
|
$cur_path/gem_exec_nop > /dev/null 2>&1 &
|
|
$cur_path/gem_exec_nop > /dev/null 2>&1 &
|
|
|
|
sleep 10
|
|
|
|
if cat i915_error_state | grep -v "no error state collected" > /dev/null ; then
|
|
echo "gpu hang correctly dectected"
|
|
else
|
|
echo "gpu hang not dectected"
|
|
exit 2
|
|
fi
|
|
|
|
# clear error state
|
|
echo 0 > i915_ring_stop
|
|
|
|
exit 0
|