[Intel-gfx] [PATCH] drm/i915: Flush tasklet submission before sleeping on i915_request_wait
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Tue Oct 15 14:45:44 UTC 2019
On 15/10/2019 14:26, Chris Wilson wrote:
> If the system is being slow and userspace is racing ahead of the GPU and
> finds itself waiting for the GPU to catch up, before the process sleeps
> give the tasklet a kick, bypassing ksoftirqd. If the system is
> overloaded, then ksoftirqd may be delayed incurring additional latency
> to our user.
>
> This should not be a frequent problem, but in the past we have observed
> several hundred millisecond delays before ksoftirqd services an
> interrupt, so burn a few cycles to lend a helping hand.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> drivers/gpu/drm/i915/i915_request.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index b8a54572a4f8..f1cadad4e81c 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -1496,6 +1496,7 @@ long i915_request_wait(struct i915_request *rq,
> break;
> }
>
> + intel_engine_flush_submission(rq->engine);
> timeout = io_schedule_timeout(timeout);
> }
> __set_current_state(TASK_RUNNING);
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list