All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8
@ 2024-07-11 16:32 Nitin Gote
  2024-07-11 16:28 ` Cavitt, Jonathan
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Nitin Gote @ 2024-07-11 16:32 UTC (permalink / raw)
  To: chris.p.wilson, tursulin, intel-gfx
  Cc: dri-devel, andi.shyti, nirmoy.das, janusz.krzysztofik,
	nitin.r.gote, Chris Wilson, stable

We're seeing a GPU HANG issue on a CHV platform, which was caused by
bac24f59f454 ("drm/i915/execlists: Enable coarse preemption boundaries for gen8").

Gen8 platform has only timeslice and doesn't support a preemption mechanism
as engines do not have a preemption timer and doesn't send an irq if the
preemption timeout expires. So, add a fix to not consider preemption
during dequeuing for gen8 platforms.

v2: Simplify can_preempt() function (Tvrtko Ursulin)

v3:
 - Inside need_preempt(), condition of can_preempt() is not required
   as simplified can_preempt() is enough. (Chris Wilson)

Fixes: bac24f59f454 ("drm/i915/execlists: Enable coarse preemption boundaries for gen8")
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11396
Suggested-by: Andi Shyti <andi.shyti@intel.com>
Signed-off-by: Nitin Gote <nitin.r.gote@intel.com>
Cc: Chris Wilson <chris.p.wilson@linux.intel.com>
CC: <stable@vger.kernel.org> # v5.2+
---
 drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index 21829439e686..72090f52fb85 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -3315,11 +3315,7 @@ static void remove_from_engine(struct i915_request *rq)
 
 static bool can_preempt(struct intel_engine_cs *engine)
 {
-	if (GRAPHICS_VER(engine->i915) > 8)
-		return true;
-
-	/* GPGPU on bdw requires extra w/a; not implemented */
-	return engine->class != RENDER_CLASS;
+	return GRAPHICS_VER(engine->i915) > 8;
 }
 
 static void kick_execlists(const struct i915_request *rq, int prio)
-- 
2.25.1


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

end of thread, other threads:[~2024-07-16  9:55 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-11 16:32 [PATCH v3] drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8 Nitin Gote
2024-07-11 16:28 ` Cavitt, Jonathan
2024-07-11 18:09   ` Rodrigo Vivi
2024-07-12 13:25     ` Gote, Nitin R
2024-07-12 13:39       ` Andi Shyti
2024-07-15 22:14       ` Andi Shyti
2024-07-16  3:43         ` Gote, Nitin R
2024-07-11 17:04 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8 (rev4) Patchwork
2024-07-11 17:13 ` ✓ Fi.CI.BAT: success " Patchwork
2024-07-12  3:22 ` ✓ Fi.CI.IGT: " Patchwork
2024-07-16  9:54 ` [PATCH v3] drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8 Andi Shyti

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.