[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