[Intel-gfx] [PATCH 5/8] drm/i915: Rely on direct submission to the queue
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Mar 23 10:29:40 UTC 2020
On 23/03/2020 09:28, Chris Wilson wrote:
> Drop the pretense of kicking the tasklet (used only for the defunct guc
> submission backend, it should just take ownership of the submit!) and so
> remove the bh-kicking from around submission.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 --
> drivers/gpu/drm/i915/gt/intel_lrc.c | 5 +----
> drivers/gpu/drm/i915/i915_request.c | 2 --
> 3 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> index 36d069504836..c2bd5accde0c 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
> @@ -2348,9 +2348,7 @@ static void eb_request_add(struct i915_execbuffer *eb)
> __i915_request_skip(rq);
> }
>
> - local_bh_disable();
> __i915_request_queue(rq, &attr);
> - local_bh_enable(); /* Kick the execlists tasklet if just scheduled */
>
> /* Try to clean up the client's timeline after submitting the request */
> if (prev)
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index f09dd87324b9..210f60e14ef4 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -2891,10 +2891,7 @@ static void __submit_queue_imm(struct intel_engine_cs *engine)
> if (reset_in_progress(execlists))
> return; /* defer until we restart the engine following reset */
>
> - if (execlists->tasklet.func == execlists_submission_tasklet)
> - __execlists_submission_tasklet(engine);
> - else
> - tasklet_hi_schedule(&execlists->tasklet);
> + __execlists_submission_tasklet(engine);
> }
>
> static void submit_queue(struct intel_engine_cs *engine,
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index c0df71d7d0ff..3388c5b610c5 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -1444,9 +1444,7 @@ void i915_request_add(struct i915_request *rq)
> if (list_empty(&rq->sched.signalers_list))
> attr.priority |= I915_PRIORITY_WAIT;
>
> - local_bh_disable();
> __i915_request_queue(rq, &attr);
> - local_bh_enable(); /* Kick the execlists tasklet if just scheduled */
>
> mutex_unlock(&tl->mutex);
> }
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list