Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Harrison <john.c.harrison@intel.com>
To: Matthew Brost <matthew.brost@intel.com>,
	<intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH v5 06/10] drm/xe: Improve unexpected state error messages
Date: Mon, 10 Jun 2024 17:09:01 -0700	[thread overview]
Message-ID: <328a4647-642d-4d39-8d3b-dc69cb7ee4ce@intel.com> (raw)
In-Reply-To: <20240610141823.2605496-7-matthew.brost@intel.com>

On 6/10/2024 07:18, Matthew Brost wrote:
> Include G2H handler name when an unexpected error state messages.
>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_guc_submit.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 4464ba337d12..766ff8e48dde 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -1632,8 +1632,8 @@ int xe_guc_sched_done_handler(struct xe_guc *guc, u32 *msg, u32 len)
>   
>   	if (unlikely(!exec_queue_pending_enable(q) &&
>   		     !exec_queue_pending_disable(q))) {
> -		drm_err(&xe->drm, "Unexpected engine state 0x%04x",
> -			atomic_read(&q->guc->state));
> +		drm_err(&xe->drm, "SCHED_DONE: Unexpected engine state 0x%04x, guc_id=%d",
> +			atomic_read(&q->guc->state), q->guc->id);
>   		return -EPROTO;
>   	}
My earlier point was that this G2H notification provides two words of 
data - the context id and the runnable state. The code is currently not 
looking at that second word. It is only looking at the internal KMD 
state and assuming that the notification will match. Instead, the code 
should read out the state from msg[1] and pass that in to 
handle_sched_done(). Which should complain if the notification is for an 
enable but only a disable is pending and vice versa. And by extension, 
should not do the disable processing if the notification was actually 
for an enable, and vice versa.

And as per Michal's comment, any update to a drm_err|warn|info|dbg|etc. 
should take the opportunity to convert it to an xe_gt_ equivalent.

John.

>   
> @@ -1671,8 +1671,8 @@ int xe_guc_deregister_done_handler(struct xe_guc *guc, u32 *msg, u32 len)
>   
>   	if (!exec_queue_destroyed(q) || exec_queue_pending_disable(q) ||
>   	    exec_queue_pending_enable(q) || exec_queue_enabled(q)) {
> -		drm_err(&xe->drm, "Unexpected engine state 0x%04x",
> -			atomic_read(&q->guc->state));
> +		drm_err(&xe->drm, "DEREGISTER_DONE: Unexpected engine state 0x%04x, guc_id=%d",
> +			atomic_read(&q->guc->state), q->guc->id);
>   		return -EPROTO;
>   	}
>   


  parent reply	other threads:[~2024-06-11  0:09 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-10 14:18 [PATCH v5 00/10] Only timeout jobs if they run longer than timeout period Matthew Brost
2024-06-10 14:18 ` [PATCH v5 01/10] drm/xe: Add LRC ctx timestamp support functions Matthew Brost
2024-06-10 17:32   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 02/10] drm/xe: Add MI_COPY_MEM_MEM GPU instruction definitions Matthew Brost
2024-06-10 16:39   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 03/10] drm/xe: Emit ctx timestamp copy in ring ops Matthew Brost
2024-06-10 14:44   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 04/10] drm/xe: Add ctx timestamp to LRC snapshot Matthew Brost
2024-06-10 16:40   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 05/10] drm/xe: Add xe_gt_clock_interval_to_ms helper Matthew Brost
2024-06-10 16:34   ` Cavitt, Jonathan
2024-06-12 12:09     ` Ghimiray, Himal Prasad
2024-06-10 14:18 ` [PATCH v5 06/10] drm/xe: Improve unexpected state error messages Matthew Brost
2024-06-10 16:36   ` Cavitt, Jonathan
2024-06-10 16:45     ` Michal Wajdeczko
2024-06-10 17:09       ` Matthew Brost
2024-06-11  0:09   ` John Harrison [this message]
2024-06-11  1:43     ` Matthew Brost
2024-06-10 14:18 ` [PATCH v5 07/10] drm/xe: Add GuC state asserts to deregister_exec_queue Matthew Brost
2024-06-10 17:12   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 08/10] drm/xe: Add pending disable assert to handle_sched_done Matthew Brost
2024-06-10 16:35   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 09/10] drm/xe: Add killed, banned, or wedged as stick bit during GuC reset Matthew Brost
2024-06-10 16:35   ` Cavitt, Jonathan
2024-06-10 14:18 ` [PATCH v5 10/10] drm/xe: Sample ctx timestamp to determine if jobs have timed out Matthew Brost
2024-06-10 19:32   ` Cavitt, Jonathan
2024-06-10 20:12     ` Matthew Brost
2024-06-11  0:36   ` John Harrison
2024-06-11  1:35     ` Matthew Brost
2024-06-12  4:21   ` Zbigniew Kempczyński
2024-06-10 14:23 ` ✓ CI.Patch_applied: success for Only timeout jobs if they run longer than timeout period Patchwork
2024-06-10 14:23 ` ✗ CI.checkpatch: warning " Patchwork
2024-06-10 14:24 ` ✓ CI.KUnit: success " Patchwork
2024-06-10 14:36 ` ✓ CI.Build: " Patchwork
2024-06-10 14:38 ` ✗ CI.Hooks: failure " Patchwork
2024-06-10 14:39 ` ✓ CI.checksparse: success " Patchwork
2024-06-10 15:16 ` ✓ CI.BAT: " 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=328a4647-642d-4d39-8d3b-dc69cb7ee4ce@intel.com \
    --to=john.c.harrison@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=matthew.brost@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox