All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler
@ 2017-03-02 21:01 Chris Wilson
  2017-03-02 21:48 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Chris Wilson @ 2017-03-02 21:01 UTC (permalink / raw)
  To: intel-gfx

Check timer_pending() as well as work_pending() to see if the timer for
the hangcheck has already expired and the work is pending execution on
some list somewhere.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index ee4bf6f71cab..0656ccf0e0d4 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1334,11 +1334,14 @@ static int i915_hangcheck_info(struct seq_file *m, void *unused)
 
 	intel_runtime_pm_put(dev_priv);
 
-	if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work)) {
-		seq_printf(m, "Hangcheck active, fires in %dms\n",
-			   jiffies_to_msecs(dev_priv->gpu_error.hangcheck_work.timer.expires -
-					    jiffies));
-	} else
+	if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work))
+		if (timer_pending(&dev_priv->gpu_error.hangcheck_work.timer))
+			seq_printf(m, "Hangcheck active, timer fires in %dms\n",
+				   jiffies_to_msecs(dev_priv->gpu_error.hangcheck_work.timer.expires -
+						    jiffies));
+		else
+			seq_printf(m, "Hangcheck active, work pending\n");
+	else
 		seq_printf(m, "Hangcheck inactive\n");
 
 	seq_printf(m, "GT active? %s\n", yesno(dev_priv->gt.awake));
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Differentiate between hangcheck waiting for timer or scheduler
  2017-03-02 21:01 [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler Chris Wilson
@ 2017-03-02 21:48 ` Patchwork
  2017-03-02 22:12 ` [PATCH] " Chris Wilson
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2017-03-02 21:48 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Differentiate between hangcheck waiting for timer or scheduler
URL   : https://patchwork.freedesktop.org/series/20585/
State : success

== Summary ==

Series 20585v1 drm/i915: Differentiate between hangcheck waiting for timer or scheduler
https://patchwork.freedesktop.org/api/1.0/series/20585/revisions/1/mbox/

Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-uc:
                pass       -> FAIL       (fi-snb-2600) fdo#100007
Test gem_exec_suspend:
        Subgroup basic-s3:
                fail       -> PASS       (fi-kbl-7500u) fdo#100004
        Subgroup basic-s4-devices:
                fail       -> DMESG-WARN (fi-kbl-7500u) fdo#100004
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-a:
                fail       -> PASS       (fi-kbl-7500u) fdo#100004
        Subgroup suspend-read-crc-pipe-b:
                fail       -> PASS       (fi-kbl-7500u) fdo#100004
        Subgroup suspend-read-crc-pipe-c:
                fail       -> PASS       (fi-kbl-7500u)

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007
fdo#100004 https://bugs.freedesktop.org/show_bug.cgi?id=100004

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11 
fi-bsw-n3050     total:278  pass:239  dwarn:0   dfail:0   fail:0   skip:39 
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19 
fi-bxt-t5700     total:278  pass:258  dwarn:0   dfail:0   fail:0   skip:20 
fi-byt-j1900     total:278  pass:251  dwarn:0   dfail:0   fail:0   skip:27 
fi-byt-n2820     total:278  pass:247  dwarn:0   dfail:0   fail:0   skip:31 
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16 
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16 
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50 
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18 
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18 
fi-kbl-7500u     total:278  pass:259  dwarn:1   dfail:0   fail:0   skip:18 
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10 
fi-skl-6700hq    total:278  pass:261  dwarn:0   dfail:0   fail:0   skip:17 
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18 
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10 
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28 
fi-snb-2600      total:278  pass:248  dwarn:0   dfail:0   fail:1   skip:29 

613504ddadeb13d75086b7ba654d3fb9222716f6 drm-tip: 2017y-03m-02d-20h-19m-55s UTC integration manifest
8b0935c drm/i915: Differentiate between hangcheck waiting for timer or scheduler

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4045/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler
  2017-03-02 21:01 [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler Chris Wilson
  2017-03-02 21:48 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2017-03-02 22:12 ` Chris Wilson
  2017-03-03  9:00 ` [PATCH v2] " Chris Wilson
  2017-03-03  9:48 ` ✓ Fi.CI.BAT: success for drm/i915: Differentiate between hangcheck waiting for timer or scheduler (rev2) Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2017-03-02 22:12 UTC (permalink / raw)
  To: intel-gfx

On Thu, Mar 02, 2017 at 09:01:06PM +0000, Chris Wilson wrote:
> Check timer_pending() as well as work_pending() to see if the timer for
> the hangcheck has already expired and the work is pending execution on
> some list somewhere.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index ee4bf6f71cab..0656ccf0e0d4 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1334,11 +1334,14 @@ static int i915_hangcheck_info(struct seq_file *m, void *unused)
>  
>  	intel_runtime_pm_put(dev_priv);
>  
> -	if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work)) {
> -		seq_printf(m, "Hangcheck active, fires in %dms\n",
> -			   jiffies_to_msecs(dev_priv->gpu_error.hangcheck_work.timer.expires -
> -					    jiffies));
> -	} else
> +	if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work))
> +		if (timer_pending(&dev_priv->gpu_error.hangcheck_work.timer))
> +			seq_printf(m, "Hangcheck active, timer fires in %dms\n",
> +				   jiffies_to_msecs(dev_priv->gpu_error.hangcheck_work.timer.expires -
> +						    jiffies));
> +		else
> +			seq_printf(m, "Hangcheck active, work pending\n");
> +	else
>  		seq_printf(m, "Hangcheck inactive\n");

For our causal debug purposes we could just

	if (timer_pending())
	else if (delayed_work_pending()) 
	else

-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2] drm/i915: Differentiate between hangcheck waiting for timer or scheduler
  2017-03-02 21:01 [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler Chris Wilson
  2017-03-02 21:48 ` ✓ Fi.CI.BAT: success for " Patchwork
  2017-03-02 22:12 ` [PATCH] " Chris Wilson
@ 2017-03-03  9:00 ` Chris Wilson
  2017-03-03  9:13   ` Mika Kuoppala
  2017-03-03  9:48 ` ✓ Fi.CI.BAT: success for drm/i915: Differentiate between hangcheck waiting for timer or scheduler (rev2) Patchwork
  3 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2017-03-03  9:00 UTC (permalink / raw)
  To: intel-gfx

Check timer_pending() as well as work_pending() to see if the timer for
the hangcheck has already expired and the work is pending execution on
some list somewhere.

v2: Use a more compact if-chain

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index a33c09dba105..5b51c9d179ad 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1334,11 +1334,13 @@ static int i915_hangcheck_info(struct seq_file *m, void *unused)
 
 	intel_runtime_pm_put(dev_priv);
 
-	if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work)) {
-		seq_printf(m, "Hangcheck active, fires in %dms\n",
+	if (timer_pending(&dev_priv->gpu_error.hangcheck_work.timer))
+		seq_printf(m, "Hangcheck active, timer fires in %dms\n",
 			   jiffies_to_msecs(dev_priv->gpu_error.hangcheck_work.timer.expires -
 					    jiffies));
-	} else
+	else if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work))
+		seq_printf(m, "Hangcheck active, work pending\n");
+	else
 		seq_printf(m, "Hangcheck inactive\n");
 
 	seq_printf(m, "GT active? %s\n", yesno(dev_priv->gt.awake));
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drm/i915: Differentiate between hangcheck waiting for timer or scheduler
  2017-03-03  9:00 ` [PATCH v2] " Chris Wilson
@ 2017-03-03  9:13   ` Mika Kuoppala
  2017-03-03  9:40     ` Chris Wilson
  0 siblings, 1 reply; 7+ messages in thread
From: Mika Kuoppala @ 2017-03-03  9:13 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

Chris Wilson <chris@chris-wilson.co.uk> writes:

> Check timer_pending() as well as work_pending() to see if the timer for
> the hangcheck has already expired and the work is pending execution on
> some list somewhere.
>
> v2: Use a more compact if-chain
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>

Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index a33c09dba105..5b51c9d179ad 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1334,11 +1334,13 @@ static int i915_hangcheck_info(struct seq_file *m, void *unused)
>  
>  	intel_runtime_pm_put(dev_priv);
>  
> -	if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work)) {
> -		seq_printf(m, "Hangcheck active, fires in %dms\n",
> +	if (timer_pending(&dev_priv->gpu_error.hangcheck_work.timer))
> +		seq_printf(m, "Hangcheck active, timer fires in %dms\n",
>  			   jiffies_to_msecs(dev_priv->gpu_error.hangcheck_work.timer.expires -
>  					    jiffies));
> -	} else
> +	else if (delayed_work_pending(&dev_priv->gpu_error.hangcheck_work))
> +		seq_printf(m, "Hangcheck active, work pending\n");
> +	else
>  		seq_printf(m, "Hangcheck inactive\n");
>  
>  	seq_printf(m, "GT active? %s\n", yesno(dev_priv->gt.awake));
> -- 
> 2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] drm/i915: Differentiate between hangcheck waiting for timer or scheduler
  2017-03-03  9:13   ` Mika Kuoppala
@ 2017-03-03  9:40     ` Chris Wilson
  0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2017-03-03  9:40 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

On Fri, Mar 03, 2017 at 11:13:15AM +0200, Mika Kuoppala wrote:
> Chris Wilson <chris@chris-wilson.co.uk> writes:
> 
> > Check timer_pending() as well as work_pending() to see if the timer for
> > the hangcheck has already expired and the work is pending execution on
> > some list somewhere.
> >
> > v2: Use a more compact if-chain
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> 
> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>

Pushed in the hope of getting a hit in CI, thanks.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Differentiate between hangcheck waiting for timer or scheduler (rev2)
  2017-03-02 21:01 [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler Chris Wilson
                   ` (2 preceding siblings ...)
  2017-03-03  9:00 ` [PATCH v2] " Chris Wilson
@ 2017-03-03  9:48 ` Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2017-03-03  9:48 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Differentiate between hangcheck waiting for timer or scheduler (rev2)
URL   : https://patchwork.freedesktop.org/series/20585/
State : success

== Summary ==

Series 20585v2 drm/i915: Differentiate between hangcheck waiting for timer or scheduler
https://patchwork.freedesktop.org/api/1.0/series/20585/revisions/2/mbox/

Test drv_module_reload:
        Subgroup basic-reload:
                dmesg-warn -> PASS       (fi-ilk-650)
Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-uc:
                fail       -> PASS       (fi-snb-2600) fdo#100007

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11 
fi-bsw-n3050     total:278  pass:239  dwarn:0   dfail:0   fail:0   skip:39 
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19 
fi-bxt-t5700     total:278  pass:258  dwarn:0   dfail:0   fail:0   skip:20 
fi-byt-j1900     total:278  pass:251  dwarn:0   dfail:0   fail:0   skip:27 
fi-byt-n2820     total:278  pass:247  dwarn:0   dfail:0   fail:0   skip:31 
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16 
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16 
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50 
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18 
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18 
fi-kbl-7500u     total:278  pass:259  dwarn:1   dfail:0   fail:0   skip:18 
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10 
fi-skl-6700hq    total:278  pass:261  dwarn:0   dfail:0   fail:0   skip:17 
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18 
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10 
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28 
fi-snb-2600      total:278  pass:249  dwarn:0   dfail:0   fail:0   skip:29 

7f38bb9ea553c613223b705326c1b8d1a8fc4a90 drm-tip: 2017y-03m-02d-22h-35m-41s UTC integration manifest
ffd0ccb drm/i915: Differentiate between hangcheck waiting for timer or scheduler

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4050/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-03-03  9:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-02 21:01 [PATCH] drm/i915: Differentiate between hangcheck waiting for timer or scheduler Chris Wilson
2017-03-02 21:48 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-03-02 22:12 ` [PATCH] " Chris Wilson
2017-03-03  9:00 ` [PATCH v2] " Chris Wilson
2017-03-03  9:13   ` Mika Kuoppala
2017-03-03  9:40     ` Chris Wilson
2017-03-03  9:48 ` ✓ Fi.CI.BAT: success for drm/i915: Differentiate between hangcheck waiting for timer or scheduler (rev2) Patchwork

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.