[Intel-gfx] [PATCH 3/4] drm/i915: Clear the error PTE just once on finish

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Tue Oct 2 12:27:02 UTC 2018


On 01/10/2018 20:44, Chris Wilson wrote:
> We do not need to continually clear our dedicated PTE for error capture
> as it will be updated and invalidated to the next object. Only at the
> end do we wish to be sure that the PTE doesn't point back to any buffer.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>   drivers/gpu/drm/i915/i915_gpu_error.c | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index ed8c16cbfaa4..fed9574be5b6 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -995,7 +995,6 @@ i915_error_object_create(struct drm_i915_private *i915,
>   	}
>   
>   	compress_fini(&compress, dst);
> -	ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE);
>   	return dst;
>   }
>   
> @@ -1781,6 +1780,14 @@ static unsigned long capture_find_epoch(const struct i915_gpu_state *error)
>   	return epoch;
>   }
>   
> +static void capture_finish(struct i915_gpu_state *error)
> +{
> +	struct i915_ggtt *ggtt = &error->i915->ggtt;
> +	const u64 slot = ggtt->error_capture.start;
> +
> +	ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE);
> +}
> +
>   static int capture(void *data)
>   {
>   	struct i915_gpu_state *error = data;
> @@ -1805,6 +1812,7 @@ static int capture(void *data)
>   
>   	error->epoch = capture_find_epoch(error);
>   
> +	capture_finish(error);
>   	return 0;
>   }
>   
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list