[Intel-gfx] [PATCH 07/10] drm/i915: Trim the flush for the legacy request emission

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Fri Apr 29 07:43:04 UTC 2016


On to, 2016-04-28 at 17:24 +0100, Chris Wilson wrote:
> At the start of request emission, we flush some space for the request,
> estimating the typical size for the request body. The tail is now much
> larger than the typical body, so we can shrink the flush slightly.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

This is more than the previous number, so it will not hurt at least.

Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 8ae70a525847..5611d6a449b5 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -34,6 +34,11 @@
>  #include "i915_trace.h"
>  #include "intel_drv.h"
>  
> +/* Rough estimate of the typical request size, performing a flush,
> + * set-context and then emitting the batch.
> + */
> +#define LEGACY_REQUEST_SIZE 200
> +
>  int __intel_ring_space(int head, int tail, int size)
>  {
>  	int space = head - tail;
> @@ -2388,7 +2393,7 @@ int intel_ring_alloc_request_extras(struct drm_i915_gem_request *request)
>  	 * we start building the request - in which case we will just
>  	 * have to repeat work.
>  	 */
> -	request->reserved_space += MIN_SPACE_FOR_ADD_REQUEST;
> +	request->reserved_space += LEGACY_REQUEST_SIZE;
>  
>  	request->ringbuf = request->engine->buffer;
>  
> @@ -2396,7 +2401,7 @@ int intel_ring_alloc_request_extras(struct drm_i915_gem_request *request)
>  	if (ret)
>  		return ret;
>  
> -	request->reserved_space -= MIN_SPACE_FOR_ADD_REQUEST;
> +	request->reserved_space -= LEGACY_REQUEST_SIZE;
>  	return 0;
>  }
>  
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list