All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ceraolo Spurio, Daniele" <daniele.ceraolospurio@intel.com>
To: John Harrison <john.c.harrison@intel.com>,
	<intel-gfx@lists.freedesktop.org>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/guc: Don't send policy update for child contexts.
Date: Wed, 27 Jul 2022 18:50:26 -0700	[thread overview]
Message-ID: <086bd24f-aa89-055a-ebd2-792b215eb67f@intel.com> (raw)
In-Reply-To: <1e05b82e-b19e-644c-c1a6-614de643dc64@intel.com>



On 7/27/2022 6:44 PM, John Harrison wrote:
> On 7/27/2022 17:33, Daniele Ceraolo Spurio wrote:
>> The GuC FW applies the parent context policy to all the children,
>> so individual updates to the children are not supported and we
>> should not send them.
>>
>> Note that sending the message did not have any functional consequences,
>> because the GuC just drops it and logs an error; since we were trying
>> to set the child policy to match the parent anyway the message being
>> dropped was not a problem.
>>
>> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> Cc: John Harrison <john.c.harrison@intel.com>
> Needs a Fixes tag for the original v70 update patch?

I don't think so. I added the explanation about it not being a 
functional issue to make it clear that everything still works as 
expected without this patch, just with a bit of extra noise in the GuC 
logs. If you think it is still worth applying to older kernels I'll add 
the tag in.

Daniele

>
> John.
>
>> ---
>>   .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 26 +------------------
>>   1 file changed, 1 insertion(+), 25 deletions(-)
>>
>> 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 76916aed897a..5e31e2540297 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> @@ -2420,7 +2420,6 @@ static int guc_context_policy_init_v70(struct 
>> intel_context *ce, bool loop)
>>       struct context_policy policy;
>>       u32 execution_quantum;
>>       u32 preemption_timeout;
>> -    bool missing = false;
>>       unsigned long flags;
>>       int ret;
>>   @@ -2438,32 +2437,9 @@ static int 
>> guc_context_policy_init_v70(struct intel_context *ce, bool loop)
>>           __guc_context_policy_add_preempt_to_idle(&policy, 1);
>>         ret = __guc_context_set_context_policies(guc, &policy, loop);
>> -    missing = ret != 0;
>> -
>> -    if (!missing && intel_context_is_parent(ce)) {
>> -        struct intel_context *child;
>> -
>> -        for_each_child(ce, child) {
>> -            __guc_context_policy_start_klv(&policy, child->guc_id.id);
>> -
>> -            if (engine->flags & I915_ENGINE_WANT_FORCED_PREEMPTION)
>> - __guc_context_policy_add_preempt_to_idle(&policy, 1);
>> -
>> -            child->guc_state.prio = ce->guc_state.prio;
>> -            __guc_context_policy_add_priority(&policy, 
>> ce->guc_state.prio);
>> - __guc_context_policy_add_execution_quantum(&policy, 
>> execution_quantum);
>> - __guc_context_policy_add_preemption_timeout(&policy, 
>> preemption_timeout);
>> -
>> -            ret = __guc_context_set_context_policies(guc, &policy, 
>> loop);
>> -            if (ret) {
>> -                missing = true;
>> -                break;
>> -            }
>> -        }
>> -    }
>>         spin_lock_irqsave(&ce->guc_state.lock, flags);
>> -    if (missing)
>> +    if (ret != 0)
>>           set_context_policy_required(ce);
>>       else
>>           clr_context_policy_required(ce);
>


WARNING: multiple messages have this Message-ID (diff)
From: "Ceraolo Spurio, Daniele" <daniele.ceraolospurio@intel.com>
To: John Harrison <john.c.harrison@intel.com>,
	<intel-gfx@lists.freedesktop.org>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915/guc: Don't send policy update for child contexts.
Date: Wed, 27 Jul 2022 18:50:26 -0700	[thread overview]
Message-ID: <086bd24f-aa89-055a-ebd2-792b215eb67f@intel.com> (raw)
In-Reply-To: <1e05b82e-b19e-644c-c1a6-614de643dc64@intel.com>



On 7/27/2022 6:44 PM, John Harrison wrote:
> On 7/27/2022 17:33, Daniele Ceraolo Spurio wrote:
>> The GuC FW applies the parent context policy to all the children,
>> so individual updates to the children are not supported and we
>> should not send them.
>>
>> Note that sending the message did not have any functional consequences,
>> because the GuC just drops it and logs an error; since we were trying
>> to set the child policy to match the parent anyway the message being
>> dropped was not a problem.
>>
>> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> Cc: John Harrison <john.c.harrison@intel.com>
> Needs a Fixes tag for the original v70 update patch?

I don't think so. I added the explanation about it not being a 
functional issue to make it clear that everything still works as 
expected without this patch, just with a bit of extra noise in the GuC 
logs. If you think it is still worth applying to older kernels I'll add 
the tag in.

Daniele

>
> John.
>
>> ---
>>   .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 26 +------------------
>>   1 file changed, 1 insertion(+), 25 deletions(-)
>>
>> 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 76916aed897a..5e31e2540297 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
>> @@ -2420,7 +2420,6 @@ static int guc_context_policy_init_v70(struct 
>> intel_context *ce, bool loop)
>>       struct context_policy policy;
>>       u32 execution_quantum;
>>       u32 preemption_timeout;
>> -    bool missing = false;
>>       unsigned long flags;
>>       int ret;
>>   @@ -2438,32 +2437,9 @@ static int 
>> guc_context_policy_init_v70(struct intel_context *ce, bool loop)
>>           __guc_context_policy_add_preempt_to_idle(&policy, 1);
>>         ret = __guc_context_set_context_policies(guc, &policy, loop);
>> -    missing = ret != 0;
>> -
>> -    if (!missing && intel_context_is_parent(ce)) {
>> -        struct intel_context *child;
>> -
>> -        for_each_child(ce, child) {
>> -            __guc_context_policy_start_klv(&policy, child->guc_id.id);
>> -
>> -            if (engine->flags & I915_ENGINE_WANT_FORCED_PREEMPTION)
>> - __guc_context_policy_add_preempt_to_idle(&policy, 1);
>> -
>> -            child->guc_state.prio = ce->guc_state.prio;
>> -            __guc_context_policy_add_priority(&policy, 
>> ce->guc_state.prio);
>> - __guc_context_policy_add_execution_quantum(&policy, 
>> execution_quantum);
>> - __guc_context_policy_add_preemption_timeout(&policy, 
>> preemption_timeout);
>> -
>> -            ret = __guc_context_set_context_policies(guc, &policy, 
>> loop);
>> -            if (ret) {
>> -                missing = true;
>> -                break;
>> -            }
>> -        }
>> -    }
>>         spin_lock_irqsave(&ce->guc_state.lock, flags);
>> -    if (missing)
>> +    if (ret != 0)
>>           set_context_policy_required(ce);
>>       else
>>           clr_context_policy_required(ce);
>


  reply	other threads:[~2022-07-28  1:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-28  0:33 [PATCH] drm/i915/guc: Don't send policy update for child contexts Daniele Ceraolo Spurio
2022-07-28  0:33 ` [Intel-gfx] " Daniele Ceraolo Spurio
2022-07-28  1:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2022-07-28  1:44 ` [PATCH] " John Harrison
2022-07-28  1:44   ` [Intel-gfx] " John Harrison
2022-07-28  1:50   ` Ceraolo Spurio, Daniele [this message]
2022-07-28  1:50     ` Ceraolo Spurio, Daniele
2022-07-28  1:54     ` John Harrison
2022-07-28  1:54       ` [Intel-gfx] " John Harrison
2022-07-28  9:12 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=086bd24f-aa89-055a-ebd2-792b215eb67f@intel.com \
    --to=daniele.ceraolospurio@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=john.c.harrison@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.