[PATCH] drm/i915/debugfs: Do not report currently active engine when describing objects

Daniel Vetter daniel at ffwll.ch
Fri Sep 17 12:43:33 UTC 2021


On Wed, Sep 15, 2021 at 12:41:53PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> It is not very useful to have code which tries to report a rapidly
> transient state which will not report anything majority of the time,
> especially since it is currently only used from
> <debugfs>/i915_gem_framebuffers.

Maybe mention that this is motiveated by Christian's series to rework all
the fence iteration stuff.

Also iirc the history here, this was for figuring out hangs. When the gpu
is dead, the last-write stuff isn't very transient anymore (until reset).
But we have error state capture now since forever, so this can go.

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Acked-by: Christian König <christian.koenig at amd.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_object.h | 17 -----------------
>  drivers/gpu/drm/i915/i915_debugfs.c        |  5 -----
>  2 files changed, 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> index 48112b9d76df..3043fcbd31bd 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> @@ -503,23 +503,6 @@ i915_gem_object_finish_access(struct drm_i915_gem_object *obj)
>  	i915_gem_object_unpin_pages(obj);
>  }
>  
> -static inline struct intel_engine_cs *
> -i915_gem_object_last_write_engine(struct drm_i915_gem_object *obj)
> -{
> -	struct intel_engine_cs *engine = NULL;
> -	struct dma_fence *fence;
> -
> -	rcu_read_lock();
> -	fence = dma_resv_get_excl_unlocked(obj->base.resv);
> -	rcu_read_unlock();
> -
> -	if (fence && dma_fence_is_i915(fence) && !dma_fence_is_signaled(fence))
> -		engine = to_request(fence)->engine;
> -	dma_fence_put(fence);
> -
> -	return engine;
> -}
> -
>  void i915_gem_object_set_cache_coherency(struct drm_i915_gem_object *obj,
>  					 unsigned int cache_level);
>  void i915_gem_object_flush_if_display(struct drm_i915_gem_object *obj);
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 04351a851586..1795af81bf41 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -139,7 +139,6 @@ void
>  i915_debugfs_describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
>  {
>  	struct drm_i915_private *dev_priv = to_i915(obj->base.dev);
> -	struct intel_engine_cs *engine;
>  	struct i915_vma *vma;
>  	int pin_count = 0;
>  
> @@ -229,10 +228,6 @@ i915_debugfs_describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
>  		seq_printf(m, " (stolen: %08llx)", obj->stolen->start);
>  	if (i915_gem_object_is_framebuffer(obj))
>  		seq_printf(m, " (fb)");
> -
> -	engine = i915_gem_object_last_write_engine(obj);
> -	if (engine)
> -		seq_printf(m, " (%s)", engine->name);
>  }
>  
>  static int i915_gem_object_info(struct seq_file *m, void *data)
> -- 
> 2.30.2
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list