mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 03:58:27 +00:00 
			
		
		
		
	... and use it in the hangman to stress the error_state capture a bit more. Uncovered a bug in the obj->pages ->obj->sg_list rework.
		
			
				
	
	
		
			43 lines
		
	
	
		
			832 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			832 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
#
 | 
						|
# 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
 | 
						|
 | 
						|
oldpath=`pwd`
 | 
						|
 | 
						|
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
 | 
						|
echo "rings stopped"
 | 
						|
 | 
						|
(cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
 | 
						|
 | 
						|
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 > i915_error_state
 | 
						|
 | 
						|
exit 0
 |