Hi Chris,
Isn't this dependent upon the workload submitted to the GuC? Meaning we have 
one workload that refused to be preempted (really long shader for example) but 
it went away on its own. Other workloads that come in later are preemptible. 
However, if we turn off preemption permanently, then all future workloads will 
not be preempted either which may not be desirable.
-Satyeshwar

-----Original Message-----
From: Intel-gfx [mailto:[email protected]] On Behalf Of 
Chris Wilson
Sent: Thursday, May 31, 2018 1:47 PM
To: [email protected]
Subject: [Intel-gfx] [PATCH] drm/i915/guc: Disable preemption if it fails

If we fail to tell the GuC to perform preemption, we get stuck attempting to 
continually retry inject_preempt_context() until we eventually timeout and 
reset the GPU (approximately emitting the same warning 1000 times). Bail after 
the first failure, emit the WARN and stop trying to do any further preemption 
on this engine.

References: 
https://intel-gfx-ci.01.org/tree/drm-tip/Trybot_2235/shard-apl4/igt@[email protected]
Signed-off-by: Chris Wilson <[email protected]>
Cc: Michal Wajdeczko <[email protected]>
Cc: Michel Thierry <[email protected]>
Cc: Michałt Winiarski <[email protected]>
---
 drivers/gpu/drm/i915/intel_guc_submission.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c 
b/drivers/gpu/drm/i915/intel_guc_submission.c
index 133367a17863..24bdac205c45 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -588,6 +588,7 @@ static void inject_preempt_context(struct work_struct *work)
        data[6] = intel_guc_ggtt_offset(guc, guc->shared_data);
 
        if (WARN_ON(intel_guc_send(guc, data, ARRAY_SIZE(data)))) {
+               engine->flags &= ~I915_ENGINE_HAS_PREEMPTION; /* XXX racy! */
                execlists_clear_active(&engine->execlists,
                                       EXECLISTS_ACTIVE_PREEMPT);
                tasklet_schedule(&engine->execlists.tasklet);
--
2.17.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to