Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tursulin@ursulin.net>
To: Jonathan Cavitt <jonathan.cavitt@intel.com>,
	intel-xe@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, saurabhg.gupta@intel.com,
	alex.zuo@intel.com, joonas.lahtinen@intel.com,
	lucas.demarchi@intel.com, matthew.brost@intel.com
Subject: Re: [PATCH 4/4] drm/xe/xe_drm_client: Add per drm client reset stats
Date: Tue, 18 Feb 2025 18:45:30 +0000	[thread overview]
Message-ID: <0bda0535-3c83-46ef-b40f-8b2be1ead6cc@ursulin.net> (raw)
In-Reply-To: <20250214203757.27895-5-jonathan.cavitt@intel.com>


On 14/02/2025 20:37, Jonathan Cavitt wrote:
> Add a counter to xe_drm_client that tracks the number of times the
> engine has been reset since the drm client was created.
> 
> Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_drm_client.c | 2 ++
>   drivers/gpu/drm/xe/xe_drm_client.h | 2 ++
>   drivers/gpu/drm/xe/xe_guc_submit.c | 4 +++-
>   3 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
> index f15560d0b6ff..ecd2ce99fd19 100644
> --- a/drivers/gpu/drm/xe/xe_drm_client.c
> +++ b/drivers/gpu/drm/xe/xe_drm_client.c
> @@ -492,6 +492,8 @@ static void show_blames(struct drm_printer *p, struct drm_file *file)
>   
>   	client = xef->client;
>   
> +	drm_printf(p, "drm-client-reset-count:%u\n",
> +		   atomic_read(&client->reset_count));

When drm- prefix is used keys have to be agreed in drm-usage-stats.rst. 
Therefore I suggest exploring across different drivers and seeing if 
anyone else would be interested. Maybe people who worked on the DRM 
common wedged event for example.

Or in cases when new stats are not universally useful drivers can prefix 
with xe-. We had this discussion recently with some panthor internal 
memory stats.

Regards,

Tvrtko

>   	drm_printf(p, "\n");
>   	drm_printf(p, "- Exec queue ban list -\n");
>   	spin_lock(&client->blame_lock);
> diff --git a/drivers/gpu/drm/xe/xe_drm_client.h b/drivers/gpu/drm/xe/xe_drm_client.h
> index d21fd0b90742..c35de675ccfa 100644
> --- a/drivers/gpu/drm/xe/xe_drm_client.h
> +++ b/drivers/gpu/drm/xe/xe_drm_client.h
> @@ -53,6 +53,8 @@ struct xe_drm_client {
>   	 * Protected by @blame_lock;
>   	 */
>   	struct list_head blame_list;
> +	/** @reset_count: number of times this drm client has seen an engine reset */
> +	atomic_t reset_count;
>   #endif
>   };
>   
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index d9da5c89429e..8810abc8f04a 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -1988,7 +1988,9 @@ int xe_guc_exec_queue_reset_handler(struct xe_guc *guc, u32 *msg, u32 len)
>   		return -EPROTO;
>   
>   	hwe = q->hwe;
> -
> +#ifdef CONFIG_PROC_FS
> +	atomic_inc(&q->xef->client->reset_count);
> +#endif
>   	xe_gt_info(gt, "Engine reset: engine_class=%s, logical_mask: 0x%x, guc_id=%d",
>   		   xe_hw_engine_class_to_str(q->class), q->logical_mask, guc_id);
>   


  reply	other threads:[~2025-02-18 18:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-14 20:37 [PATCH 0/4] drm/xe/xe_drm_client: Add per drm client reset stats Jonathan Cavitt
2025-02-14 20:37 ` [PATCH 1/4] drm/xe/xe_exec_queue: Add ID param to exec queue struct Jonathan Cavitt
2025-02-14 20:37 ` [PATCH 2/4] drm/xe/xe_gt_pagefault: Migrate pagefault struct to header Jonathan Cavitt
2025-02-14 20:37 ` [PATCH 3/4] FIXME: drm/xe/xe_drm_client: Add per drm client pagefault info Jonathan Cavitt
2025-02-16  4:04   ` kernel test robot
2025-02-17 17:01   ` Simona Vetter
2025-02-18 15:11     ` Cavitt, Jonathan
2025-02-18 18:39     ` Tvrtko Ursulin
2025-02-18 20:40       ` Cavitt, Jonathan
2025-02-19 13:44         ` Simona Vetter
2025-02-14 20:37 ` [PATCH 4/4] drm/xe/xe_drm_client: Add per drm client reset stats Jonathan Cavitt
2025-02-18 18:45   ` Tvrtko Ursulin [this message]
2025-02-19 13:45     ` Simona Vetter
2025-02-14 20:48 ` ✓ CI.Patch_applied: success for " Patchwork
2025-02-14 20:48 ` ✗ CI.checkpatch: warning " Patchwork
2025-02-14 20:50 ` ✓ CI.KUnit: success " Patchwork
2025-02-14 21:13 ` ✓ CI.Build: " Patchwork
2025-02-14 21:15 ` ✓ CI.Hooks: " Patchwork
2025-02-14 21:17 ` ✓ CI.checksparse: " Patchwork
2025-02-14 21:43 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-02-15 21:00 ` ✗ Xe.CI.Full: " Patchwork
2025-02-18 19:21 ` [PATCH 0/4] " André Almeida

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=0bda0535-3c83-46ef-b40f-8b2be1ead6cc@ursulin.net \
    --to=tursulin@ursulin.net \
    --cc=alex.zuo@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jonathan.cavitt@intel.com \
    --cc=joonas.lahtinen@intel.com \
    --cc=lucas.demarchi@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=saurabhg.gupta@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