[Intel-gfx] [RFC 32/44] drm/i915: Added immediate submission override to scheduler
John.C.Harrison at Intel.com
John.C.Harrison at Intel.com
Thu Jun 26 19:24:23 CEST 2014
From: John Harrison <John.C.Harrison at 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
More information about the Intel-gfx
mailing list