* [PATCH 1/3] tests: rename debugfs base path to be more specific
@ 2013-06-27 13:54 Mika Kuoppala
2013-06-27 13:54 ` [PATCH 2/3] tests: add i915_sfs_path Mika Kuoppala
2013-06-27 13:54 ` [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces Mika Kuoppala
0 siblings, 2 replies; 6+ messages in thread
From: Mika Kuoppala @ 2013-06-27 13:54 UTC (permalink / raw)
To: intel-gfx
In preparation to have sysfs entries used in scripts
rename to more specific name.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
tests/ZZ_hangman | 2 +-
tests/debugfs_emon_crash | 2 +-
tests/debugfs_reader | 2 +-
tests/debugfs_wedged | 4 ++--
tests/drm_lib.sh | 8 ++++----
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/tests/ZZ_hangman b/tests/ZZ_hangman
index cf71972..08c5514 100755
--- a/tests/ZZ_hangman
+++ b/tests/ZZ_hangman
@@ -11,7 +11,7 @@ SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
oldpath=`pwd`
-cd $i915_path
+cd $i915_dfs_path
if [ ! -f i915_ring_stop ] ; then
echo "kernel doesn't support ring stopping"
diff --git a/tests/debugfs_emon_crash b/tests/debugfs_emon_crash
index 6e139a4..809bfab 100755
--- a/tests/debugfs_emon_crash
+++ b/tests/debugfs_emon_crash
@@ -8,7 +8,7 @@ SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
. $SOURCE_DIR/drm_lib.sh
for z in $(seq 1 1000); do
- cat $i915_path/i915_emon_status > /dev/null 2&>1
+ cat $i915_dfs_path/i915_emon_status > /dev/null 2&>1
done
# If we got here, we haven't crashed
diff --git a/tests/debugfs_reader b/tests/debugfs_reader
index 80d5998..9e2845e 100755
--- a/tests/debugfs_reader
+++ b/tests/debugfs_reader
@@ -4,6 +4,6 @@ SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
. $SOURCE_DIR/drm_lib.sh
# read everything we can
-cat $i915_path/* > /dev/null 2>&1
+cat $i915_dfs_path/* > /dev/null 2>&1
exit 0
diff --git a/tests/debugfs_wedged b/tests/debugfs_wedged
index 80a32f6..903a0a2 100755
--- a/tests/debugfs_wedged
+++ b/tests/debugfs_wedged
@@ -6,5 +6,5 @@ SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
# Testcase: wedge the hw to check the error_state reading
#
# Unfortunately wedged is permanent, so this test is not run by default
-echo 1 > ${i915_path}/i915_wedged
-cat $i915_path/i915_error_state > /dev/null 2>&1
+echo 1 > ${i915_dfs_path}/i915_wedged
+cat $i915_dfs_path/i915_error_state > /dev/null 2>&1
diff --git a/tests/drm_lib.sh b/tests/drm_lib.sh
index a76fd47..7eaf34e 100755
--- a/tests/drm_lib.sh
+++ b/tests/drm_lib.sh
@@ -12,20 +12,20 @@ if [ -d /sys/kernel/debug/dri ] ; then
debugfs_path=/sys/kernel/debug/dri
fi
-i915_path=x
+i915_dfs_path=x
for dir in `ls $debugfs_path` ; do
if [ -f $debugfs_path/$dir/i915_error_state ] ; then
- i915_path=$debugfs_path/$dir
+ i915_dfs_path=$debugfs_path/$dir
break
fi
done
-if [ $i915_path = "x" ] ; then
+if [ $i915_dfs_path = "x" ] ; then
die " i915 debugfs path not found."
fi
# read everything we can
-if [ `cat $i915_path/clients | wc -l` -gt "2" ] ; then
+if [ `cat $i915_dfs_path/clients | wc -l` -gt "2" ] ; then
die "ERROR: other drm clients running"
fi
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] tests: add i915_sfs_path
2013-06-27 13:54 [PATCH 1/3] tests: rename debugfs base path to be more specific Mika Kuoppala
@ 2013-06-27 13:54 ` Mika Kuoppala
2013-06-27 13:54 ` [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces Mika Kuoppala
1 sibling, 0 replies; 6+ messages in thread
From: Mika Kuoppala @ 2013-06-27 13:54 UTC (permalink / raw)
To: intel-gfx
To access 'error_state' through sysfs.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
tests/drm_lib.sh | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/tests/drm_lib.sh b/tests/drm_lib.sh
index 7eaf34e..72da4ad 100755
--- a/tests/drm_lib.sh
+++ b/tests/drm_lib.sh
@@ -29,4 +29,19 @@ if [ `cat $i915_dfs_path/clients | wc -l` -gt "2" ] ; then
die "ERROR: other drm clients running"
fi
+if [ -d /sys/class/drm ] ; then
+ sysfs_path=/sys/class/drm
+fi
+
+i915_sfs_path=x
+for dir in `ls $sysfs_path` ; do
+ if [ -f $sysfs_path/$dir/error_state ] ; then
+ i915_sfs_path=$sysfs_path/$dir
+ break
+ fi
+done
+
+if [ $i915_sfs_path = "x" ] ; then
+ die " i915 sysfs path not found."
+fi
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces
2013-06-27 13:54 [PATCH 1/3] tests: rename debugfs base path to be more specific Mika Kuoppala
2013-06-27 13:54 ` [PATCH 2/3] tests: add i915_sfs_path Mika Kuoppala
@ 2013-06-27 13:54 ` Mika Kuoppala
2013-06-27 17:23 ` Daniel Vetter
1 sibling, 1 reply; 6+ messages in thread
From: Mika Kuoppala @ 2013-06-27 13:54 UTC (permalink / raw)
To: intel-gfx
Test both debugfs and sysfs error_state interfaces.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
tests/ZZ_hangman | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/tests/ZZ_hangman b/tests/ZZ_hangman
index 08c5514..303dbc7 100755
--- a/tests/ZZ_hangman
+++ b/tests/ZZ_hangman
@@ -18,25 +18,33 @@ if [ ! -f i915_ring_stop ] ; then
exit 77
fi
-if cat i915_error_state | grep -v "no error state collected" > /dev/null ; then
- echo "gpu hang dectected"
+for estate_fname in $i915_dfs_path/i915_error_state $i915_sfs_path/error_state ; do
+ echo checking ${estate_fname}
+
+ if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
+ echo "gpu hang detected"
exit 1
-fi
+ fi
-# stop rings
-echo 0xf > i915_ring_stop
-echo "rings stopped"
+ echo 0xf > i915_ring_stop
+ echo "rings stopped"
-(cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
+ (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"
+ if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
+ echo "gpu hang correctly detected"
+ else
+ echo "gpu hang not detected"
exit 2
-fi
+ fi
# clear error state
-echo > i915_error_state
+ echo > $estate_fname
+
+ if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
+ echo "gpu hang still present"
+ exit 3
+ fi
+done
exit 0
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces
2013-06-27 13:54 ` [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces Mika Kuoppala
@ 2013-06-27 17:23 ` Daniel Vetter
2013-06-28 11:35 ` Mika Kuoppala
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Vetter @ 2013-06-27 17:23 UTC (permalink / raw)
To: Mika Kuoppala; +Cc: intel-gfx
On Thu, Jun 27, 2013 at 04:54:44PM +0300, Mika Kuoppala wrote:
> Test both debugfs and sysfs error_state interfaces.
>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
> tests/ZZ_hangman | 34 +++++++++++++++++++++-------------
> 1 file changed, 21 insertions(+), 13 deletions(-)
>
> diff --git a/tests/ZZ_hangman b/tests/ZZ_hangman
> index 08c5514..303dbc7 100755
> --- a/tests/ZZ_hangman
> +++ b/tests/ZZ_hangman
> @@ -18,25 +18,33 @@ if [ ! -f i915_ring_stop ] ; then
> exit 77
> fi
>
> -if cat i915_error_state | grep -v "no error state collected" > /dev/null ; then
> - echo "gpu hang dectected"
> +for estate_fname in $i915_dfs_path/i915_error_state $i915_sfs_path/error_state ; do
> + echo checking ${estate_fname}
On second thought I think we need to auto-skip the sysfs error_state here
if it's not there. Can you please patch this up?
Thanks, Daniel
> +
> + if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
> + echo "gpu hang detected"
> exit 1
> -fi
> + fi
>
> -# stop rings
> -echo 0xf > i915_ring_stop
> -echo "rings stopped"
> + echo 0xf > i915_ring_stop
> + echo "rings stopped"
>
> -(cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
> + (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"
> + if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
> + echo "gpu hang correctly detected"
> + else
> + echo "gpu hang not detected"
> exit 2
> -fi
> + fi
>
> # clear error state
> -echo > i915_error_state
> + echo > $estate_fname
> +
> + if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
> + echo "gpu hang still present"
> + exit 3
> + fi
> +done
>
> exit 0
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces
2013-06-27 17:23 ` Daniel Vetter
@ 2013-06-28 11:35 ` Mika Kuoppala
2013-07-01 16:56 ` Daniel Vetter
0 siblings, 1 reply; 6+ messages in thread
From: Mika Kuoppala @ 2013-06-28 11:35 UTC (permalink / raw)
To: intel-gfx
Test both debugfs and sysfs error_state interfaces.
v2: sysfs error_state not mandatory
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
tests/ZZ_hangman | 52 ++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 38 insertions(+), 14 deletions(-)
diff --git a/tests/ZZ_hangman b/tests/ZZ_hangman
index 08c5514..4db3823 100755
--- a/tests/ZZ_hangman
+++ b/tests/ZZ_hangman
@@ -18,25 +18,49 @@ if [ ! -f i915_ring_stop ] ; then
exit 77
fi
-if cat i915_error_state | grep -v "no error state collected" > /dev/null ; then
- echo "gpu hang dectected"
- exit 1
-fi
+function check_iface {
+ estate_fname=$1
+ mandatory=$2
-# stop rings
-echo 0xf > i915_ring_stop
-echo "rings stopped"
+ echo checking ${estate_fname}
-(cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
+ if [ ! -f $estate_fname ] ; then
+ if [ $mandatory != 0 ] ; then
+ echo "'${estate_fname}' not found";
+ exit 1;
+ else
+ echo "${estate_fname} not mandatory";
+ return;
+ fi
+ fi
-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"
+ if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
+ echo "gpu hang detected"
exit 2
-fi
+ fi
+
+ echo 0xf > i915_ring_stop
+ echo "rings stopped"
+
+ (cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
+
+ if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
+ echo "gpu hang correctly detected"
+ else
+ echo "gpu hang not detected"
+ exit 3
+ fi
# clear error state
-echo > i915_error_state
+ echo > $estate_fname
+
+ if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
+ echo "gpu hang still present"
+ exit 4
+ fi
+}
+
+check_iface $i915_dfs_path/i915_error_state 1
+check_iface $i915_sfs_path/error_state 0
exit 0
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces
2013-06-28 11:35 ` Mika Kuoppala
@ 2013-07-01 16:56 ` Daniel Vetter
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2013-07-01 16:56 UTC (permalink / raw)
To: Mika Kuoppala; +Cc: intel-gfx
On Fri, Jun 28, 2013 at 02:35:41PM +0300, Mika Kuoppala wrote:
> Test both debugfs and sysfs error_state interfaces.
>
> v2: sysfs error_state not mandatory
>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Series merged with Chris' s/error_state/error/ bikeshed applied, thanks.
-Daniel
> ---
> tests/ZZ_hangman | 52 ++++++++++++++++++++++++++++++++++++++--------------
> 1 file changed, 38 insertions(+), 14 deletions(-)
>
> diff --git a/tests/ZZ_hangman b/tests/ZZ_hangman
> index 08c5514..4db3823 100755
> --- a/tests/ZZ_hangman
> +++ b/tests/ZZ_hangman
> @@ -18,25 +18,49 @@ if [ ! -f i915_ring_stop ] ; then
> exit 77
> fi
>
> -if cat i915_error_state | grep -v "no error state collected" > /dev/null ; then
> - echo "gpu hang dectected"
> - exit 1
> -fi
> +function check_iface {
> + estate_fname=$1
> + mandatory=$2
>
> -# stop rings
> -echo 0xf > i915_ring_stop
> -echo "rings stopped"
> + echo checking ${estate_fname}
>
> -(cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
> + if [ ! -f $estate_fname ] ; then
> + if [ $mandatory != 0 ] ; then
> + echo "'${estate_fname}' not found";
> + exit 1;
> + else
> + echo "${estate_fname} not mandatory";
> + return;
> + fi
> + fi
>
> -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"
> + if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
> + echo "gpu hang detected"
> exit 2
> -fi
> + fi
> +
> + echo 0xf > i915_ring_stop
> + echo "rings stopped"
> +
> + (cd $oldpath; $SOURCE_DIR/gem_exec_big) > /dev/null
> +
> + if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
> + echo "gpu hang correctly detected"
> + else
> + echo "gpu hang not detected"
> + exit 3
> + fi
>
> # clear error state
> -echo > i915_error_state
> + echo > $estate_fname
> +
> + if cat $estate_fname | grep -v "no error state collected" > /dev/null ; then
> + echo "gpu hang still present"
> + exit 4
> + fi
> +}
> +
> +check_iface $i915_dfs_path/i915_error_state 1
> +check_iface $i915_sfs_path/error_state 0
>
> exit 0
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-07-01 16:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-27 13:54 [PATCH 1/3] tests: rename debugfs base path to be more specific Mika Kuoppala
2013-06-27 13:54 ` [PATCH 2/3] tests: add i915_sfs_path Mika Kuoppala
2013-06-27 13:54 ` [PATCH 3/3] tests/ZZ_hangman: Test both error_state interfaces Mika Kuoppala
2013-06-27 17:23 ` Daniel Vetter
2013-06-28 11:35 ` Mika Kuoppala
2013-07-01 16:56 ` Daniel Vetter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.