Re: [Intel-gfx] [PATCH v2 1/2] drm/i915/guc: Properly initialise kernel contexts

Ceraolo Spurio, Daniele
2022-11-04T18:53:40Z

On 11/2/2022 12:21 PM, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
>
> If a context has already been registered prior to first submission
> then context init code was not being called. The noticeable effect of
> that was the scheduling priority was left at zero (meaning super high
> priority) instead of being set to normal. This would occur with
> kernel contexts at start of day as they are manually pinned up front
> rather than on first submission. So add a call to initialise those
> when they are pinned.

Does this need a fixes tag? on one side, we were leaving the priority to
the wrong value, but on the other there were no actual consequences.

Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>

Daniele

> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> index 4ccb29f9ac55c..941613be3b9dd 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> @@ -4111,6 +4111,9 @@ static inline void guc_kernel_context_pin(struct intel_guc *guc,
> if (context_guc_id_invalid(ce))
> pin_guc_id(guc, ce);
>
> + if (!test_bit(CONTEXT_GUC_INIT, &ce->flags))
> + guc_context_init(ce);
> +
> try_context_registration(ce, true);
> }
>