]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/i915/gt: Start timeslice on partial submission
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 28 May 2020 20:57:27 +0000 (21:57 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 28 May 2020 22:41:13 +0000 (23:41 +0100)
We may choose to only submit ELSP[0], even though we have sufficient
requests to fill the whole ELSP. Normally, we only start timeslicing if
we fill more than one port, but in this case we need to start
timeslicing for the queue that we choose not to submit.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200528205727.20309-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c

index 69fff36ec0ccdfbc25681c4bdb02177a267b4a92..6fc0966b75ff227581e582079701db866116cae5 100644 (file)
@@ -2358,8 +2358,10 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
                                if (last->context == rq->context)
                                        goto done;
 
-                               if (i915_request_has_sentinel(last))
+                               if (i915_request_has_sentinel(last)) {
+                                       start_timeslice(engine, rq_prio(rq));
                                        goto done;
+                               }
 
                                /*
                                 * If GVT overrides us we only ever submit