[PATCH 09/91] drm/i915: Assert all timeline requests are gone before fini

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Jan 5 13:54:25 UTC 2017


On 05/01/2017 10:34, Chris Wilson wrote:
> During i915_gem_timeline_fini(), assert that all the timeline's request
> are completed and removed from the timeline.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_gem_timeline.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_timeline.c b/drivers/gpu/drm/i915/i915_gem_timeline.c
> index bf8a471b61e6..b596ca7ee058 100644
> --- a/drivers/gpu/drm/i915/i915_gem_timeline.c
> +++ b/drivers/gpu/drm/i915/i915_gem_timeline.c
> @@ -81,10 +81,18 @@ int i915_gem_timeline_init__global(struct drm_i915_private *i915)
>  					&class, "&global_timeline->lock");
>  }
>
> -void i915_gem_timeline_fini(struct i915_gem_timeline *tl)
> +void i915_gem_timeline_fini(struct i915_gem_timeline *timeline)
>  {
> -	lockdep_assert_held(&tl->i915->drm.struct_mutex);
> +	int i;
>
> -	list_del(&tl->link);
> -	kfree(tl->name);
> +	lockdep_assert_held(&timeline->i915->drm.struct_mutex);
> +
> +	for (i = 0; i < ARRAY_SIZE(timeline->engine); i++) {
> +		struct intel_timeline *tl = &timeline->engine[i];
> +
> +		GEM_BUG_ON(!list_empty(&tl->requests));
> +	}
> +
> +	list_del(&timeline->link);
> +	kfree(timeline->name);
>  }
>

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

Regards,

Tvrtko


More information about the Intel-gfx-trybot mailing list