* [PATCH] drm/i915: Fix system hang with EI UP masked on Haswell
@ 2017-04-13 11:15 Mika Kuoppala
2017-04-13 11:37 ` Chris Wilson
0 siblings, 1 reply; 4+ messages in thread
From: Mika Kuoppala @ 2017-04-13 11:15 UTC (permalink / raw)
To: intel-gfx; +Cc: Mika Kuoppala, Chris Wilson, stable
Previously with commit a9c1f90c8e17
("drm/i915: Don't mask EI UP interrupt on IVB|SNB") certain,
seemingly unrelated bit (GEN6_PM_RP_UP_EI_EXPIRED) was needed
to be unmasked for IVB and SNB in order to prevent system hang
with chained batchbuffers.
Our CI was seeing incomplete results with tests that used
chained batches and it was found out that HSW needs to have this
same bit unmasked to reliably survive chained batches.
Always unmask GEN6_PM_RP_UP_EI_EXPIRED on Haswell to
prevent system hang with batch chaining.
Testcase: igt/gem_exec_fence/nb-await-default
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100672
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org
Signed-off-by: Mika Kuoppala <mika.kuoppala@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 d9d1969..fd97fe0 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -4252,12 +4252,12 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
dev_priv->rps.pm_intrmsk_mbz = 0;
/*
- * SNB,IVB can while VLV,CHV may hard hang on looping batchbuffer
+ * SNB,IVB,HSW can while VLV,CHV may hard hang on looping batchbuffer
* if GEN6_PM_UP_EI_EXPIRED is masked.
*
* TODO: verify if this can be reproduced on VLV,CHV.
*/
- if (INTEL_INFO(dev_priv)->gen <= 7 && !IS_HASWELL(dev_priv))
+ if (INTEL_INFO(dev_priv)->gen <= 7)
dev_priv->rps.pm_intrmsk_mbz |= GEN6_PM_RP_UP_EI_EXPIRED;
if (INTEL_INFO(dev_priv)->gen >= 8)
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/i915: Fix system hang with EI UP masked on Haswell
2017-04-13 11:15 [PATCH] drm/i915: Fix system hang with EI UP masked on Haswell Mika Kuoppala
@ 2017-04-13 11:37 ` Chris Wilson
2017-04-13 11:58 ` Mika Kuoppala
2017-04-18 12:26 ` Mika Kuoppala
0 siblings, 2 replies; 4+ messages in thread
From: Chris Wilson @ 2017-04-13 11:37 UTC (permalink / raw)
To: Mika Kuoppala; +Cc: intel-gfx, stable
On Thu, Apr 13, 2017 at 02:15:27PM +0300, Mika Kuoppala wrote:
> Previously with commit a9c1f90c8e17
> ("drm/i915: Don't mask EI UP interrupt on IVB|SNB") certain,
> seemingly unrelated bit (GEN6_PM_RP_UP_EI_EXPIRED) was needed
> to be unmasked for IVB and SNB in order to prevent system hang
> with chained batchbuffers.
>
> Our CI was seeing incomplete results with tests that used
> chained batches and it was found out that HSW needs to have this
> same bit unmasked to reliably survive chained batches.
>
> Always unmask GEN6_PM_RP_UP_EI_EXPIRED on Haswell to
> prevent system hang with batch chaining.
>
> Testcase: igt/gem_exec_fence/nb-await-default
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100672
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: stable@vger.kernel.org
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
* facepalm.
I am amazed that took so long for us to notice.
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Did we ever get a w/a identifier for this?
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/i915: Fix system hang with EI UP masked on Haswell
2017-04-13 11:37 ` Chris Wilson
@ 2017-04-13 11:58 ` Mika Kuoppala
2017-04-18 12:26 ` Mika Kuoppala
1 sibling, 0 replies; 4+ messages in thread
From: Mika Kuoppala @ 2017-04-13 11:58 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx, stable
Chris Wilson <chris@chris-wilson.co.uk> writes:
> On Thu, Apr 13, 2017 at 02:15:27PM +0300, Mika Kuoppala wrote:
>> Previously with commit a9c1f90c8e17
>> ("drm/i915: Don't mask EI UP interrupt on IVB|SNB") certain,
>> seemingly unrelated bit (GEN6_PM_RP_UP_EI_EXPIRED) was needed
>> to be unmasked for IVB and SNB in order to prevent system hang
>> with chained batchbuffers.
>>
>> Our CI was seeing incomplete results with tests that used
>> chained batches and it was found out that HSW needs to have this
>> same bit unmasked to reliably survive chained batches.
>>
>> Always unmask GEN6_PM_RP_UP_EI_EXPIRED on Haswell to
>> prevent system hang with batch chaining.
>>
>> Testcase: igt/gem_exec_fence/nb-await-default
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100672
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
>
> * facepalm.
>
> I am amazed that took so long for us to notice.
It could be that we don't have chained so much in CI.
Also it seems to be more subtle than with IVB. With
spin batch it didnt surface but with nb-await-default
the store/spin and possibly(?) the cpu side sleep
lured it out.
> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Thanks.
>
> Did we ever get a w/a identifier for this?
Not that I know of. And in retrospect excluding
hsw was not wise in the original patch. It was v3
where it was excluded but I didn't find the trail that
lead there. Trusting it not to inherit the peculiarities...
I like to think that we tested and it never hung with
straight up busy chaining. nb-await-default is
more sophisticated.
-Mika
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/i915: Fix system hang with EI UP masked on Haswell
2017-04-13 11:37 ` Chris Wilson
2017-04-13 11:58 ` Mika Kuoppala
@ 2017-04-18 12:26 ` Mika Kuoppala
1 sibling, 0 replies; 4+ messages in thread
From: Mika Kuoppala @ 2017-04-18 12:26 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx, stable
Chris Wilson <chris@chris-wilson.co.uk> writes:
> On Thu, Apr 13, 2017 at 02:15:27PM +0300, Mika Kuoppala wrote:
>> Previously with commit a9c1f90c8e17
>> ("drm/i915: Don't mask EI UP interrupt on IVB|SNB") certain,
>> seemingly unrelated bit (GEN6_PM_RP_UP_EI_EXPIRED) was needed
>> to be unmasked for IVB and SNB in order to prevent system hang
>> with chained batchbuffers.
>>
>> Our CI was seeing incomplete results with tests that used
>> chained batches and it was found out that HSW needs to have this
>> same bit unmasked to reliably survive chained batches.
>>
>> Always unmask GEN6_PM_RP_UP_EI_EXPIRED on Haswell to
>> prevent system hang with batch chaining.
>>
>> Testcase: igt/gem_exec_fence/nb-await-default
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100672
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
>
> * facepalm.
>
> I am amazed that took so long for us to notice.
> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
>
Pushed to drm-intel-next-queued. Thanks.
-Mika
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-04-18 12:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-13 11:15 [PATCH] drm/i915: Fix system hang with EI UP masked on Haswell Mika Kuoppala
2017-04-13 11:37 ` Chris Wilson
2017-04-13 11:58 ` Mika Kuoppala
2017-04-18 12:26 ` Mika Kuoppala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).