[PATCH] drm/i915/debugfs: Do not report currently active engine when describing objects
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Sep 17 13:59:56 UTC 2021
On 17/09/2021 13:43, Daniel Vetter wrote:
> 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.
It actually isn't. It predates me noticing his series and is from the
time I was looking at all the dma_fence_is_i915() call sites. One part
of the rationale was fewer users the better.
> 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.
In this case say 8-9 seconds before it gets cleared so yes, still agreed
it is not very useful.
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Thanks!
Regards,
Tvrtko
>
>>
>> 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
>>
>
More information about the dri-devel
mailing list