[Intel-gfx] [PATCH 07/18] drm/i915: Stop storing the context name as the timeline name

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Mar 20 12:46:02 UTC 2019


On 19/03/2019 11:57, Chris Wilson wrote:
> The timeline->name is only used for convenience in pretty printing the
> i915_request.fence->ops->get_timeline_name() and it is just as
> convenient to pull it from the gem_context directly. The few instances
> of its use inside GEM_TRACE() has proven more of a nuisance than
> helpful, so not worth saving imo.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>   drivers/gpu/drm/i915/i915_gem_context.c        | 5 ++---
>   drivers/gpu/drm/i915/i915_request.c            | 7 ++-----
>   drivers/gpu/drm/i915/i915_timeline.c           | 5 +----
>   drivers/gpu/drm/i915/i915_timeline.h           | 2 --
>   drivers/gpu/drm/i915/i915_timeline_types.h     | 1 -
>   drivers/gpu/drm/i915/intel_engine_cs.c         | 3 +--
>   drivers/gpu/drm/i915/intel_lrc.c               | 2 +-
>   drivers/gpu/drm/i915/intel_ringbuffer.c        | 4 +---
>   drivers/gpu/drm/i915/selftests/i915_timeline.c | 6 +++---
>   drivers/gpu/drm/i915/selftests/mock_engine.c   | 9 ++-------
>   10 files changed, 13 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index 95c5103e15a5..196982f38a28 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -673,9 +673,8 @@ last_request_on_engine(struct i915_timeline *timeline,
>   	rq = i915_active_request_raw(&timeline->last_request,
>   				     &engine->i915->drm.struct_mutex);
>   	if (rq && rq->engine == engine) {
> -		GEM_TRACE("last request for %s on engine %s: %llx:%llu\n",
> -			  timeline->name, engine->name,
> -			  rq->fence.context, rq->fence.seqno);
> +		GEM_TRACE("last request on engine %s: %llx:%llu\n",
> +			  engine->name, rq->fence.context, rq->fence.seqno);
>   		GEM_BUG_ON(rq->timeline != timeline);
>   		return rq;
>   	}
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index 0a3d94517d0a..1529824d7c61 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -66,7 +66,7 @@ static const char *i915_fence_get_timeline_name(struct dma_fence *fence)
>   	if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
>   		return "signaled";
>   
> -	return to_request(fence)->timeline->name;
> +	return to_request(fence)->gem_context->name ?: "[i915]";
>   }
>   
>   static bool i915_fence_signaled(struct dma_fence *fence)
> @@ -167,7 +167,6 @@ static void advance_ring(struct i915_request *request)
>   		 * is just about to be. Either works, if we miss the last two
>   		 * noops - they are safe to be replayed on a reset.
>   		 */
> -		GEM_TRACE("marking %s as inactive\n", ring->timeline->name);
>   		tail = READ_ONCE(request->tail);
>   		list_del(&ring->active_link);
>   	} else {
> @@ -1064,10 +1063,8 @@ void i915_request_add(struct i915_request *request)
>   	__i915_active_request_set(&timeline->last_request, request);
>   
>   	list_add_tail(&request->ring_link, &ring->request_list);
> -	if (list_is_first(&request->ring_link, &ring->request_list)) {
> -		GEM_TRACE("marking %s as active\n", ring->timeline->name);
> +	if (list_is_first(&request->ring_link, &ring->request_list))
>   		list_add(&ring->active_link, &request->i915->gt.active_rings);
> -	}
>   	request->i915->gt.active_engines |= request->engine->mask;
>   	request->emitted_jiffies = jiffies;
>   
> diff --git a/drivers/gpu/drm/i915/i915_timeline.c b/drivers/gpu/drm/i915/i915_timeline.c
> index 8484ba6e51d1..2f4907364920 100644
> --- a/drivers/gpu/drm/i915/i915_timeline.c
> +++ b/drivers/gpu/drm/i915/i915_timeline.c
> @@ -197,7 +197,6 @@ static void cacheline_free(struct i915_timeline_cacheline *cl)
>   
>   int i915_timeline_init(struct drm_i915_private *i915,
>   		       struct i915_timeline *timeline,
> -		       const char *name,
>   		       struct i915_vma *hwsp)
>   {
>   	void *vaddr;
> @@ -213,7 +212,6 @@ int i915_timeline_init(struct drm_i915_private *i915,
>   	BUILD_BUG_ON(KSYNCMAP < I915_NUM_ENGINES);
>   
>   	timeline->i915 = i915;
> -	timeline->name = name;
>   	timeline->pin_count = 0;
>   	timeline->has_initial_breadcrumb = !hwsp;
>   	timeline->hwsp_cacheline = NULL;
> @@ -342,7 +340,6 @@ void i915_timeline_fini(struct i915_timeline *timeline)
>   
>   struct i915_timeline *
>   i915_timeline_create(struct drm_i915_private *i915,
> -		     const char *name,
>   		     struct i915_vma *global_hwsp)
>   {
>   	struct i915_timeline *timeline;
> @@ -352,7 +349,7 @@ i915_timeline_create(struct drm_i915_private *i915,
>   	if (!timeline)
>   		return ERR_PTR(-ENOMEM);
>   
> -	err = i915_timeline_init(i915, timeline, name, global_hwsp);
> +	err = i915_timeline_init(i915, timeline, global_hwsp);
>   	if (err) {
>   		kfree(timeline);
>   		return ERR_PTR(err);
> diff --git a/drivers/gpu/drm/i915/i915_timeline.h b/drivers/gpu/drm/i915/i915_timeline.h
> index 454aa72aee18..4ca7f80bdf6d 100644
> --- a/drivers/gpu/drm/i915/i915_timeline.h
> +++ b/drivers/gpu/drm/i915/i915_timeline.h
> @@ -33,7 +33,6 @@
>   
>   int i915_timeline_init(struct drm_i915_private *i915,
>   		       struct i915_timeline *tl,
> -		       const char *name,
>   		       struct i915_vma *hwsp);
>   void i915_timeline_fini(struct i915_timeline *tl);
>   
> @@ -58,7 +57,6 @@ i915_timeline_set_subclass(struct i915_timeline *timeline,
>   
>   struct i915_timeline *
>   i915_timeline_create(struct drm_i915_private *i915,
> -		     const char *name,
>   		     struct i915_vma *global_hwsp);
>   
>   static inline struct i915_timeline *
> diff --git a/drivers/gpu/drm/i915/i915_timeline_types.h b/drivers/gpu/drm/i915/i915_timeline_types.h
> index d42053544d7c..1f5b55d9ffb5 100644
> --- a/drivers/gpu/drm/i915/i915_timeline_types.h
> +++ b/drivers/gpu/drm/i915/i915_timeline_types.h
> @@ -72,7 +72,6 @@ struct i915_timeline {
>   	struct i915_active_request barrier;
>   
>   	struct list_head link;
> -	const char *name;
>   	struct drm_i915_private *i915;
>   
>   	struct kref kref;
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 314b86b6f88d..d2a051c53c4a 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -579,7 +579,6 @@ int intel_engine_setup_common(struct intel_engine_cs *engine)
>   
>   	err = i915_timeline_init(engine->i915,
>   				 &engine->timeline,
> -				 engine->name,
>   				 engine->status_page.vma);
>   	if (err)
>   		goto err_hwsp;
> @@ -658,7 +657,7 @@ static int measure_breadcrumb_dw(struct intel_engine_cs *engine)
>   		return -ENOMEM;
>   
>   	if (i915_timeline_init(engine->i915,
> -			       &frame->timeline, "measure",
> +			       &frame->timeline,
>   			       engine->status_page.vma))
>   		goto out_frame;
>   
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index 7e0c20a2d733..b3009086b50e 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -2802,7 +2802,7 @@ populate_lr_context(struct intel_context *ce,
>   
>   static struct i915_timeline *get_timeline(struct i915_gem_context *ctx)
>   {
> -	return i915_timeline_create(ctx->i915, ctx->name, NULL);
> +	return i915_timeline_create(ctx->i915, NULL);
>   }
>   
>   static int execlists_context_deferred_alloc(struct intel_context *ce,
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 0310d5d53bf9..4405ac1b32f3 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -1533,9 +1533,7 @@ static int intel_init_ring_buffer(struct intel_engine_cs *engine)
>   	if (err)
>   		return err;
>   
> -	timeline = i915_timeline_create(engine->i915,
> -					engine->name,
> -					engine->status_page.vma);
> +	timeline = i915_timeline_create(engine->i915, engine->status_page.vma);
>   	if (IS_ERR(timeline)) {
>   		err = PTR_ERR(timeline);
>   		goto err;
> diff --git a/drivers/gpu/drm/i915/selftests/i915_timeline.c b/drivers/gpu/drm/i915/selftests/i915_timeline.c
> index 844701759ffc..8e7bcaa1eb66 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_timeline.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_timeline.c
> @@ -64,7 +64,7 @@ static int __mock_hwsp_timeline(struct mock_hwsp_freelist *state,
>   		unsigned long cacheline;
>   		int err;
>   
> -		tl = i915_timeline_create(state->i915, "mock", NULL);
> +		tl = i915_timeline_create(state->i915, NULL);
>   		if (IS_ERR(tl))
>   			return PTR_ERR(tl);
>   
> @@ -476,7 +476,7 @@ checked_i915_timeline_create(struct drm_i915_private *i915)
>   {
>   	struct i915_timeline *tl;
>   
> -	tl = i915_timeline_create(i915, "live", NULL);
> +	tl = i915_timeline_create(i915, NULL);
>   	if (IS_ERR(tl))
>   		return tl;
>   
> @@ -658,7 +658,7 @@ static int live_hwsp_wrap(void *arg)
>   	mutex_lock(&i915->drm.struct_mutex);
>   	wakeref = intel_runtime_pm_get(i915);
>   
> -	tl = i915_timeline_create(i915, __func__, NULL);
> +	tl = i915_timeline_create(i915, NULL);
>   	if (IS_ERR(tl)) {
>   		err = PTR_ERR(tl);
>   		goto out_rpm;
> diff --git a/drivers/gpu/drm/i915/selftests/mock_engine.c b/drivers/gpu/drm/i915/selftests/mock_engine.c
> index 61744819172b..61a8206ed677 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_engine.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_engine.c
> @@ -50,9 +50,7 @@ static struct intel_ring *mock_ring(struct intel_engine_cs *engine)
>   	if (!ring)
>   		return NULL;
>   
> -	if (i915_timeline_init(engine->i915,
> -			       &ring->timeline, engine->name,
> -			       NULL)) {
> +	if (i915_timeline_init(engine->i915, &ring->timeline, NULL)) {
>   		kfree(ring);
>   		return NULL;
>   	}
> @@ -259,10 +257,7 @@ struct intel_engine_cs *mock_engine(struct drm_i915_private *i915,
>   	engine->base.reset.finish = mock_reset_finish;
>   	engine->base.cancel_requests = mock_cancel_requests;
>   
> -	if (i915_timeline_init(i915,
> -			       &engine->base.timeline,
> -			       engine->base.name,
> -			       NULL))
> +	if (i915_timeline_init(i915, &engine->base.timeline, NULL))
>   		goto err_free;
>   	i915_timeline_set_subclass(&engine->base.timeline, TIMELINE_ENGINE);
>   
> 

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

Regards,

Tvrtko


More information about the Intel-gfx mailing list