diff mbox

[CI,1/8] drm/i915: Remove tasklet flush before disable

Message ID 20180516183355.10553-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson May 16, 2018, 6:33 p.m. UTC
The idea was to try and let the existing tasklet run to completion
before we began the reset, but it involves a racy check against anything
else that tries to run the tasklet. Rather than acknowledge and ignore
the race, let it be and don't try and be too clever.

The tasklet will resume execution after reset (after spinning a bit
during reset), but before we allow it to resume we will have cleared all
the pending state.

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

Comments

Chris Wilson May 17, 2018, 4:42 a.m. UTC | #1
Quoting Patchwork (2018-05-17 05:05:32)
> == Series Details ==
> 
> Series: series starting with [CI,1/8] drm/i915: Remove tasklet flush before disable
> URL   : https://patchwork.freedesktop.org/series/43279/
> State : success
> 
> == Summary ==
> 
> = CI Bug Log - changes from CI_DRM_4193_full -> Patchwork_9022_full =
> 
> == Summary - WARNING ==
> 
>   Minor unknown changes coming with Patchwork_9022_full need to be verified
>   manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_9022_full, please notify your bug team to allow them
>   to document this new failure mode, which will reduce false positives in CI.
> 
>   External URL: https://patchwork.freedesktop.org/api/1.0/series/43279/revisions/1/mbox/
> 
> == Possible new issues ==
> 
>   Here are the unknown changes that may have been introduced in Patchwork_9022_full:
> 
>   === IGT changes ===
> 
>     ==== Warnings ====
> 
>     igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move:
>       shard-hsw:          PASS -> SKIP +1
> 
>     
> == Known issues ==
> 
>   Here are the changes found in Patchwork_9022_full that come from known issues:
> 
>   === IGT changes ===
> 
>     ==== Issues hit ====
> 
>     igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
>       shard-hsw:          PASS -> FAIL (fdo#102887)
> 
>     igt@kms_flip@2x-plain-flip-fb-recreate:
>       shard-glk:          PASS -> FAIL (fdo#100368)
> 
>     igt@kms_flip@dpms-vs-vblank-race-interruptible:
>       shard-hsw:          PASS -> FAIL (fdo#103060)
> 
>     igt@kms_flip@modeset-vs-vblank-race:
>       shard-glk:          PASS -> FAIL (fdo#103060) +1
> 
>     igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-pwrite:
>       shard-glk:          PASS -> FAIL (fdo#103167, fdo#104724)
> 
>     
>     ==== Possible fixes ====
> 
>     igt@gem_eio@hibernate:
>       shard-hsw:          DMESG-WARN (fdo#106523) -> PASS +6
> 
>     igt@gem_eio@in-flight-contexts-10ms:
>       shard-snb:          DMESG-WARN (fdo#106523) -> PASS +6
> 
>     igt@gem_eio@in-flight-immediate:
>       shard-apl:          DMESG-WARN (fdo#106523) -> PASS +4
> 
>     igt@gem_eio@in-flight-internal-immediate:
>       shard-glk:          DMESG-WARN (fdo#106523) -> PASS +6
> 
>     igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
>       shard-glk:          FAIL (fdo#105703) -> PASS
> 
>     igt@kms_flip@2x-plain-flip-ts-check-interruptible:
>       shard-glk:          FAIL (fdo#100368) -> PASS
> 
>     igt@kms_flip@dpms-vs-vblank-race:
>       shard-hsw:          FAIL (fdo#103060) -> PASS
> 
>     igt@kms_flip@flip-vs-expired-vblank:
>       shard-glk:          FAIL (fdo#105363) -> PASS
> 
>     
>   fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
>   fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
>   fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
>   fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
>   fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
>   fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703
>   fdo#106523 https://bugs.freedesktop.org/show_bug.cgi?id=106523
> 
> 
> == Participating hosts (5 -> 4) ==
> 
>   Missing    (1): shard-kbl 

Probably why CI was so happy... kbl has been sporadically failing this
series with a recovery failure in live_hangcheck, not one that's been
visible on a kbl locally. Oh well, maybe one step for 30 steps forward.
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 0a2070112b66..0dc369a9ec4d 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3035,16 +3035,7 @@  i915_gem_reset_prepare_engine(struct intel_engine_cs *engine)
 	 * calling engine->init_hw() and also writing the ELSP.
 	 * Turning off the execlists->tasklet until the reset is over
 	 * prevents the race.
-	 *
-	 * Note that this needs to be a single atomic operation on the
-	 * tasklet (flush existing tasks, prevent new tasks) to prevent
-	 * a race between reset and set-wedged. It is not, so we do the best
-	 * we can atm and make sure we don't lock the machine up in the more
-	 * common case of recursively being called from set-wedged from inside
-	 * i915_reset.
 	 */
-	if (!atomic_read(&engine->execlists.tasklet.count))
-		tasklet_kill(&engine->execlists.tasklet);
 	tasklet_disable(&engine->execlists.tasklet);
 
 	/*