From: John Harrison <john.c.harri...@intel.com>

To aid with debugging issues related to the scheduler, it can be useful to
ensure that all batch buffers are submitted immediately rather than queued until
later. This change adds an override flag via the module parameter to force
instant submission.
---
 drivers/gpu/drm/i915/i915_scheduler.c |    7 +++++--
 drivers/gpu/drm/i915/i915_scheduler.h |    1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_scheduler.c 
b/drivers/gpu/drm/i915/i915_scheduler.c
index 1816f1d..71d8db4 100644
--- a/drivers/gpu/drm/i915/i915_scheduler.c
+++ b/drivers/gpu/drm/i915/i915_scheduler.c
@@ -209,8 +209,11 @@ int i915_scheduler_queue_execbuffer(struct 
i915_scheduler_queue_entry *qe)
 
        list_add_tail(&node->link, &scheduler->node_queue[ring->id]);
 
-       not_flying = i915_scheduler_count_flying(scheduler, ring) <
-                                                scheduler->min_flying;
+       if (i915.scheduler_override & i915_so_submit_on_queue)
+               not_flying = true;
+       else
+               not_flying = i915_scheduler_count_flying(scheduler, ring) <
+                                                        scheduler->min_flying;
 
        spin_unlock_irqrestore(&scheduler->lock, flags);
 
diff --git a/drivers/gpu/drm/i915/i915_scheduler.h 
b/drivers/gpu/drm/i915/i915_scheduler.h
index f93d57d..e824e700 100644
--- a/drivers/gpu/drm/i915/i915_scheduler.h
+++ b/drivers/gpu/drm/i915/i915_scheduler.h
@@ -123,6 +123,7 @@ enum {
 /* Options for 'scheduler_override' module parameter: */
 enum {
        i915_so_direct_submit       = (1 << 0),
+       i915_so_submit_on_queue     = (1 << 1),
 };
 
 bool        i915_scheduler_is_busy(struct intel_engine_cs *ring);
-- 
1.7.9.5

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

Reply via email to