[Intel-gfx] [PATCH 34/40] drm/i915: Rename intel_context.active to .inflight

Mika Kuoppala mika.kuoppala at linux.intel.com
Fri May 10 14:44:10 UTC 2019


Chris Wilson <chris at chris-wilson.co.uk> writes:

> Rename the engine this HW context is currently active upon (that we are
> flying upon) to disambiguate between the mixture of different active
> terms (and prevent conflict in future patches).
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/gt/intel_context_types.h |  2 +-
>  drivers/gpu/drm/i915/gt/intel_lrc.c           | 22 +++++++++----------
>  2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt/intel_context_types.h
> index 963a312430e6..825fcf0ac9c4 100644
> --- a/drivers/gpu/drm/i915/gt/intel_context_types.h
> +++ b/drivers/gpu/drm/i915/gt/intel_context_types.h
> @@ -37,7 +37,7 @@ struct intel_context {
>  
>  	struct i915_gem_context *gem_context;
>  	struct intel_engine_cs *engine;
> -	struct intel_engine_cs *active;
> +	struct intel_engine_cs *inflight;

Active_on came to my mind when first reading this. As discussed
in irc 'active' is already quite overloaded so inflight seems
fitting.

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

>  
>  	struct list_head signal_link;
>  	struct list_head signals;
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index 64bd25a9e6f5..5e418bf46c46 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -460,7 +460,7 @@ __unwind_incomplete_requests(struct intel_engine_cs *engine, int boost)
>  		__i915_request_unsubmit(rq);
>  		unwind_wa_tail(rq);
>  
> -		GEM_BUG_ON(rq->hw_context->active);
> +		GEM_BUG_ON(rq->hw_context->inflight);
>  
>  		/*
>  		 * Push the request back into the queue for later resubmission.
> @@ -557,11 +557,11 @@ execlists_user_end(struct intel_engine_execlists *execlists)
>  static inline void
>  execlists_context_schedule_in(struct i915_request *rq)
>  {
> -	GEM_BUG_ON(rq->hw_context->active);
> +	GEM_BUG_ON(rq->hw_context->inflight);
>  
>  	execlists_context_status_change(rq, INTEL_CONTEXT_SCHEDULE_IN);
>  	intel_engine_context_in(rq->engine);
> -	rq->hw_context->active = rq->engine;
> +	rq->hw_context->inflight = rq->engine;
>  }
>  
>  static void kick_siblings(struct i915_request *rq)
> @@ -576,7 +576,7 @@ static void kick_siblings(struct i915_request *rq)
>  static inline void
>  execlists_context_schedule_out(struct i915_request *rq, unsigned long status)
>  {
> -	rq->hw_context->active = NULL;
> +	rq->hw_context->inflight = NULL;
>  	intel_engine_context_out(rq->engine);
>  	execlists_context_status_change(rq, status);
>  	trace_i915_request_out(rq);
> @@ -820,7 +820,7 @@ static bool virtual_matches(const struct virtual_engine *ve,
>  			    const struct i915_request *rq,
>  			    const struct intel_engine_cs *engine)
>  {
> -	const struct intel_engine_cs *active;
> +	const struct intel_engine_cs *inflight;
>  
>  	if (!(rq->execution_mask & engine->mask)) /* We peeked too soon! */
>  		return false;
> @@ -834,8 +834,8 @@ static bool virtual_matches(const struct virtual_engine *ve,
>  	 * we reuse the register offsets). This is a very small
>  	 * hystersis on the greedy seelction algorithm.
>  	 */
> -	active = READ_ONCE(ve->context.active);
> -	if (active && active != engine)
> +	inflight = READ_ONCE(ve->context.inflight);
> +	if (inflight && inflight != engine)
>  		return false;
>  
>  	return true;
> @@ -1023,7 +1023,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
>  				u32 *regs = ve->context.lrc_reg_state;
>  				unsigned int n;
>  
> -				GEM_BUG_ON(READ_ONCE(ve->context.active));
> +				GEM_BUG_ON(READ_ONCE(ve->context.inflight));
>  				virtual_update_register_offsets(regs, engine);
>  
>  				if (!list_empty(&ve->context.signals))
> @@ -1501,7 +1501,7 @@ static void execlists_context_unpin(struct intel_context *ce)
>  	 * had the chance to run yet; let it run before we teardown the
>  	 * reference it may use.
>  	 */
> -	engine = READ_ONCE(ce->active);
> +	engine = READ_ONCE(ce->inflight);
>  	if (unlikely(engine)) {
>  		unsigned long flags;
>  
> @@ -1509,7 +1509,7 @@ static void execlists_context_unpin(struct intel_context *ce)
>  		process_csb(engine);
>  		spin_unlock_irqrestore(&engine->timeline.lock, flags);
>  
> -		GEM_BUG_ON(READ_ONCE(ce->active));
> +		GEM_BUG_ON(READ_ONCE(ce->inflight));
>  	}
>  
>  	i915_gem_context_unpin_hw_id(ce->gem_context);
> @@ -3103,7 +3103,7 @@ static void virtual_context_destroy(struct kref *kref)
>  	unsigned int n;
>  
>  	GEM_BUG_ON(ve->request);
> -	GEM_BUG_ON(ve->context.active);
> +	GEM_BUG_ON(ve->context.inflight);
>  
>  	for (n = 0; n < ve->num_siblings; n++) {
>  		struct intel_engine_cs *sibling = ve->siblings[n];
> -- 
> 2.20.1


More information about the Intel-gfx mailing list