All of lore.kernel.org
 help / color / mirror / Atom feed
* [CI 1/8] drm/i915: Remove tasklet flush before disable
@ 2018-05-16 18:33 Chris Wilson
  2018-05-16 18:33 ` [CI 2/8] drm/i915: Only sync tasklets once for recursive reset preparation Chris Wilson
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Chris Wilson @ 2018-05-16 18:33 UTC (permalink / raw)
  To: intel-gfx

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(-)

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);
 
 	/*
-- 
2.17.0

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

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

end of thread, other threads:[~2018-05-17  4:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-16 18:33 [CI 1/8] drm/i915: Remove tasklet flush before disable Chris Wilson
2018-05-16 18:33 ` [CI 2/8] drm/i915: Only sync tasklets once for recursive reset preparation Chris Wilson
2018-05-16 18:33 ` [CI 3/8] drm/i915/execlists: Refactor out complete_preempt_context() Chris Wilson
2018-05-16 18:33 ` [CI 4/8] drm/i915: Move engine reset prepare/finish to backends Chris Wilson
2018-05-16 18:33 ` [CI 5/8] drm/i915: Split execlists/guc reset preparations Chris Wilson
2018-05-16 18:33 ` [CI 6/8] drm/i915/execlists: Split out CSB processing Chris Wilson
2018-05-16 18:33 ` [CI 7/8] drm/i915/execlists: Flush pending preemption events during reset Chris Wilson
2018-05-16 18:33 ` [CI 8/8] drm/i915: Stop parking the signaler around reset Chris Wilson
2018-05-16 18:59 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/8] drm/i915: Remove tasklet flush before disable Patchwork
2018-05-16 19:18 ` ✓ Fi.CI.BAT: success " Patchwork
2018-05-17  4:05 ` ✓ Fi.CI.IGT: " Patchwork
2018-05-17  4:42   ` Chris Wilson

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.