* [PATCH] drm/i915: Officially give up on seqno coherency
@ 2015-06-19 16:43 Daniel Vetter
2015-06-19 16:58 ` [Intel-gfx] " Chris Wilson
2015-06-19 19:16 ` Daniel Vetter
0 siblings, 2 replies; 7+ messages in thread
From: Daniel Vetter @ 2015-06-19 16:43 UTC (permalink / raw)
To: Intel Graphics Development
Cc: Daniel Vetter, Mark Janes, stable, Daniel Vetter
We've never figured out the magic trick to make irq vs. seqno
updates coherent, only tricks to make it work. And since
commit 094f9a54e35500739da185cdb78f2e92fc379458
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 25 17:34:55 2013 +0100
drm/i915: Fix __wait_seqno to use true infinite timeouts
we automatically fall back to an irq augmented with polling scheme
after the first missed interrupt. There's really nothing else we can
do, hence tune down the message to informational level. It's still
useful for users in case it reliable preceedes a hard system hang.
Cc: Mark Janes <mark.a.janes@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
drivers/gpu/drm/i915/i915_irq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index e6bb72dca3ff..9350f2e5cd04 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2946,8 +2946,8 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
/* Issue a wake-up to catch stuck h/w. */
if (!test_and_set_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings)) {
if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)))
- DRM_ERROR("Hangcheck timer elapsed... %s idle\n",
- ring->name);
+ DRM_INFO("Hangcheck timer elapsed... %s idle\n",
+ ring->name);
else
DRM_INFO("Fake missed irq on %s\n",
ring->name);
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915: Officially give up on seqno coherency
2015-06-19 16:43 [PATCH] drm/i915: Officially give up on seqno coherency Daniel Vetter
@ 2015-06-19 16:58 ` Chris Wilson
2015-06-19 19:16 ` Daniel Vetter
1 sibling, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2015-06-19 16:58 UTC (permalink / raw)
To: Daniel Vetter; +Cc: Intel Graphics Development, stable, Daniel Vetter
On Fri, Jun 19, 2015 at 06:43:04PM +0200, Daniel Vetter wrote:
> We've never figured out the magic trick to make irq vs. seqno
> updates coherent, only tricks to make it work. And since
>
> commit 094f9a54e35500739da185cdb78f2e92fc379458
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date: Wed Sep 25 17:34:55 2013 +0100
>
> drm/i915: Fix __wait_seqno to use true infinite timeouts
>
> we automatically fall back to an irq augmented with polling scheme
> after the first missed interrupt. There's really nothing else we can
> do, hence tune down the message to informational level. It's still
> useful for users in case it reliable preceedes a hard system hang.
If I had a vote it would be DRM_NOTICE,
#define KERN_NOTICE KERN_SOH "5" /* normal but significant condition */
#define KERN_INFO KERN_SOH "6" /* informational */
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
--
To unsubscribe from this list: send the line "unsubscribe stable" in
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] drm/i915: Officially give up on seqno coherency
2015-06-19 16:43 [PATCH] drm/i915: Officially give up on seqno coherency Daniel Vetter
2015-06-19 16:58 ` [Intel-gfx] " Chris Wilson
@ 2015-06-19 19:16 ` Daniel Vetter
2015-06-19 19:26 ` Chris Wilson
2015-06-23 10:05 ` [Intel-gfx] " Jani Nikula
1 sibling, 2 replies; 7+ messages in thread
From: Daniel Vetter @ 2015-06-19 19:16 UTC (permalink / raw)
To: Intel Graphics Development
Cc: Daniel Vetter, Mark Janes, Chris Wilson, stable, Daniel Vetter
We've never figured out the magic trick to make irq vs. seqno
updates coherent, only tricks to make it work. And since
commit 094f9a54e35500739da185cdb78f2e92fc379458
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Sep 25 17:34:55 2013 +0100
drm/i915: Fix __wait_seqno to use true infinite timeouts
we automatically fall back to an irq augmented with polling scheme
after the first missed interrupt. There's really nothing else we can
do, hence tune down the message to informational level. It's still
useful for users in case it reliable preceedes a hard system hang.
v2: Use NOTICE since it might be of value for bug reports (Chris).
Cc: Mark Janes <mark.a.janes@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
drivers/gpu/drm/i915/i915_irq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index e6bb72dca3ff..5072fb49367e 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2946,8 +2946,8 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
/* Issue a wake-up to catch stuck h/w. */
if (!test_and_set_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings)) {
if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)))
- DRM_ERROR("Hangcheck timer elapsed... %s idle\n",
- ring->name);
+ DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
+ ring->name);
else
DRM_INFO("Fake missed irq on %s\n",
ring->name);
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/i915: Officially give up on seqno coherency
2015-06-19 19:16 ` Daniel Vetter
@ 2015-06-19 19:26 ` Chris Wilson
2015-06-23 10:05 ` [Intel-gfx] " Jani Nikula
1 sibling, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2015-06-19 19:26 UTC (permalink / raw)
To: Daniel Vetter
Cc: Intel Graphics Development, Mark Janes, stable, Daniel Vetter
On Fri, Jun 19, 2015 at 09:16:09PM +0200, Daniel Vetter wrote:
> We've never figured out the magic trick to make irq vs. seqno
> updates coherent, only tricks to make it work. And since
>
> commit 094f9a54e35500739da185cdb78f2e92fc379458
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date: Wed Sep 25 17:34:55 2013 +0100
>
> drm/i915: Fix __wait_seqno to use true infinite timeouts
>
> we automatically fall back to an irq augmented with polling scheme
> after the first missed interrupt. There's really nothing else we can
> do, hence tune down the message to informational level. It's still
> useful for users in case it reliable preceedes a hard system hang.
>
> v2: Use NOTICE since it might be of value for bug reports (Chris).
>
> Cc: Mark Janes <mark.a.janes@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: stable@vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Now all we need to is to save the GPU state to the pstore in the
picoseconds before a hard hang, and we'll be sorted.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
--
To unsubscribe from this list: send the line "unsubscribe stable" in
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915: Officially give up on seqno coherency
2015-06-19 19:16 ` Daniel Vetter
2015-06-19 19:26 ` Chris Wilson
@ 2015-06-23 10:05 ` Jani Nikula
2015-06-23 11:52 ` Daniel Vetter
1 sibling, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2015-06-23 10:05 UTC (permalink / raw)
To: Daniel Vetter, Intel Graphics Development
Cc: Daniel Vetter, Daniel Vetter, stable
On Fri, 19 Jun 2015, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> We've never figured out the magic trick to make irq vs. seqno
> updates coherent, only tricks to make it work. And since
>
> commit 094f9a54e35500739da185cdb78f2e92fc379458
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date: Wed Sep 25 17:34:55 2013 +0100
>
> drm/i915: Fix __wait_seqno to use true infinite timeouts
>
> we automatically fall back to an irq augmented with polling scheme
> after the first missed interrupt. There's really nothing else we can
> do, hence tune down the message to informational level. It's still
> useful for users in case it reliable preceedes a hard system hang.
>
> v2: Use NOTICE since it might be of value for bug reports (Chris).
>
> Cc: Mark Janes <mark.a.janes@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: stable@vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
> drivers/gpu/drm/i915/i915_irq.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index e6bb72dca3ff..5072fb49367e 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -2946,8 +2946,8 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
> /* Issue a wake-up to catch stuck h/w. */
> if (!test_and_set_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings)) {
> if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)))
> - DRM_ERROR("Hangcheck timer elapsed... %s idle\n",
> - ring->name);
> + DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
drivers/gpu/drm/i915/i915_irq.c: In function ‘i915_hangcheck_elapsed’:
drivers/gpu/drm/i915/i915_irq.c:2949:8: error: implicit declaration of function ‘DRM_NOTICE’ [-Werror=implicit-function-declaration]
DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
^
BR,
Jani.
> + ring->name);
> else
> DRM_INFO("Fake missed irq on %s\n",
> ring->name);
> --
> 2.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915: Officially give up on seqno coherency
2015-06-23 10:05 ` [Intel-gfx] " Jani Nikula
@ 2015-06-23 11:52 ` Daniel Vetter
2015-06-24 9:59 ` Chris Wilson
0 siblings, 1 reply; 7+ messages in thread
From: Daniel Vetter @ 2015-06-23 11:52 UTC (permalink / raw)
To: Jani Nikula
Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter, stable
On Tue, Jun 23, 2015 at 01:05:41PM +0300, Jani Nikula wrote:
> On Fri, 19 Jun 2015, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > We've never figured out the magic trick to make irq vs. seqno
> > updates coherent, only tricks to make it work. And since
> >
> > commit 094f9a54e35500739da185cdb78f2e92fc379458
> > Author: Chris Wilson <chris@chris-wilson.co.uk>
> > Date: Wed Sep 25 17:34:55 2013 +0100
> >
> > drm/i915: Fix __wait_seqno to use true infinite timeouts
> >
> > we automatically fall back to an irq augmented with polling scheme
> > after the first missed interrupt. There's really nothing else we can
> > do, hence tune down the message to informational level. It's still
> > useful for users in case it reliable preceedes a hard system hang.
> >
> > v2: Use NOTICE since it might be of value for bug reports (Chris).
> >
> > Cc: Mark Janes <mark.a.janes@intel.com>
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_irq.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index e6bb72dca3ff..5072fb49367e 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -2946,8 +2946,8 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
> > /* Issue a wake-up to catch stuck h/w. */
> > if (!test_and_set_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings)) {
> > if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)))
> > - DRM_ERROR("Hangcheck timer elapsed... %s idle\n",
> > - ring->name);
> > + DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
>
> drivers/gpu/drm/i915/i915_irq.c: In function ‘i915_hangcheck_elapsed’:
> drivers/gpu/drm/i915/i915_irq.c:2949:8: error: implicit declaration of function ‘DRM_NOTICE’ [-Werror=implicit-function-declaration]
> DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
> ^
Embarassing. Can you pick up v1 instead please?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915: Officially give up on seqno coherency
2015-06-23 11:52 ` Daniel Vetter
@ 2015-06-24 9:59 ` Chris Wilson
0 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2015-06-24 9:59 UTC (permalink / raw)
To: Daniel Vetter
Cc: Jani Nikula, Daniel Vetter, Intel Graphics Development, stable,
Daniel Vetter
On Tue, Jun 23, 2015 at 01:52:27PM +0200, Daniel Vetter wrote:
> On Tue, Jun 23, 2015 at 01:05:41PM +0300, Jani Nikula wrote:
> > On Fri, 19 Jun 2015, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > > We've never figured out the magic trick to make irq vs. seqno
> > > updates coherent, only tricks to make it work. And since
> > >
> > > commit 094f9a54e35500739da185cdb78f2e92fc379458
> > > Author: Chris Wilson <chris@chris-wilson.co.uk>
> > > Date: Wed Sep 25 17:34:55 2013 +0100
> > >
> > > drm/i915: Fix __wait_seqno to use true infinite timeouts
> > >
> > > we automatically fall back to an irq augmented with polling scheme
> > > after the first missed interrupt. There's really nothing else we can
> > > do, hence tune down the message to informational level. It's still
> > > useful for users in case it reliable preceedes a hard system hang.
> > >
> > > v2: Use NOTICE since it might be of value for bug reports (Chris).
> > >
> > > Cc: Mark Janes <mark.a.janes@intel.com>
> > > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > > ---
> > > drivers/gpu/drm/i915/i915_irq.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > > index e6bb72dca3ff..5072fb49367e 100644
> > > --- a/drivers/gpu/drm/i915/i915_irq.c
> > > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > > @@ -2946,8 +2946,8 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
> > > /* Issue a wake-up to catch stuck h/w. */
> > > if (!test_and_set_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings)) {
> > > if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)))
> > > - DRM_ERROR("Hangcheck timer elapsed... %s idle\n",
> > > - ring->name);
> > > + DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
> >
> > drivers/gpu/drm/i915/i915_irq.c: In function ‘i915_hangcheck_elapsed’:
> > drivers/gpu/drm/i915/i915_irq.c:2949:8: error: implicit declaration of function ‘DRM_NOTICE’ [-Werror=implicit-function-declaration]
> > DRM_NOTICE("Hangcheck timer elapsed... %s idle\n",
Nah. Just add it, we might as well use kmsg to our advantage. I'd also
like to not have all our kernel messages with [drm] as that gets very
confusing with multiple drivers.
Something like:
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 93794f9ab982..a7ea81d82bf5 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -51,9 +51,14 @@
#include <linux/kref.h>
#include <linux/pm_qos.h>
+#include <drm/drmP.h>
+
/* General customization:
*/
+#undef DRM_NAME
+#define DRM_NAME "drm/i915"
+
#define DRIVER_NAME "i915"
#define DRIVER_DESC "Intel Graphics"
#define DRIVER_DATE "20150619"
would make me happier, but removing the "[]" from the messages would make
DRM more consistent with the rest of the kernel
-chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-06-24 9:59 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-19 16:43 [PATCH] drm/i915: Officially give up on seqno coherency Daniel Vetter
2015-06-19 16:58 ` [Intel-gfx] " Chris Wilson
2015-06-19 19:16 ` Daniel Vetter
2015-06-19 19:26 ` Chris Wilson
2015-06-23 10:05 ` [Intel-gfx] " Jani Nikula
2015-06-23 11:52 ` Daniel Vetter
2015-06-24 9:59 ` Chris Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox