From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Nirmoy Das <nirmoy.das@linux.intel.com>
Cc: "José Roberto de Souza" <jose.souza@intel.com>,
intel-xe@lists.freedesktop.org,
"Nirmoy Das" <nirmoy.das@intel.com>
Subject: Re: [PATCH v3] drm/xe: Add process name to devcoredump
Date: Thu, 23 May 2024 13:39:21 -0400 [thread overview]
Message-ID: <Zk9_STt9LeCUua1J@intel.com> (raw)
In-Reply-To: <5e260bdc-7ca5-48ae-8caf-aff039c740cc@linux.intel.com>
On Thu, May 23, 2024 at 12:23:11PM +0200, Nirmoy Das wrote:
> On 5/22/2024 10:12 PM, José Roberto de Souza wrote:
>
> Process name help us track what application caused the gpug hang, this
> is crucial when running several applications at the same time.
>
> v2:
> - handle Xe KMD exec_queues without VM
>
> v3:
> - use get_pid_task() (suggested by Nirmoy)
>
> Cc: Rodrigo Vivi [1]<rodrigo.vivi@intel.com>
> Cc: Nirmoy Das [2]<nirmoy.das@intel.com>
> Signed-off-by: José Roberto de Souza [3]<jose.souza@intel.com>
>
> Reviewed-by : Nirmoy Das [4]<nirmoy.das@intel.com>
thank you both, pushed to drm-xe-next
>
> ---
> drivers/gpu/drm/xe/xe_devcoredump.c | 13 +++++++++++++
> drivers/gpu/drm/xe/xe_devcoredump_types.h | 2 ++
> 2 files changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index e70aef7971930..1643d44f8bc42 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -110,6 +110,7 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
> drm_printf(&p, "Snapshot time: %lld.%09ld\n", ts.tv_sec, ts.tv_nsec);
> ts = ktime_to_timespec64(ss->boot_time);
> drm_printf(&p, "Uptime: %lld.%09ld\n", ts.tv_sec, ts.tv_nsec);
> + drm_printf(&p, "Process: %s\n", ss->process_name);
> xe_device_snapshot_print(xe, &p);
>
> drm_printf(&p, "\n**** GuC CT ****\n");
> @@ -166,12 +167,24 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
> enum xe_hw_engine_id id;
> u32 adj_logical_mask = q->logical_mask;
> u32 width_mask = (0x1 << q->width) - 1;
> + const char *process_name = "no process";
> + struct task_struct *task = NULL;
> +
> int i;
> bool cookie;
>
> ss->snapshot_time = ktime_get_real();
> ss->boot_time = ktime_get_boottime();
>
> + if (q->vm) {
> + task = get_pid_task(q->vm->xef->drm->pid, PIDTYPE_PID);
> + if (task)
> + process_name = task->comm;
> + }
> + snprintf(ss->process_name, sizeof(ss->process_name), process_name);
> + if (task)
> + put_task_struct(task);
> +
> ss->gt = q->gt;
> INIT_WORK(&ss->work, xe_devcoredump_deferred_snap_work);
>
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump_types.h b/drivers/gpu/drm/xe/xe_devcoredump_types.h
> index 6f654b63c7f1c..923cdf72a816a 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump_types.h
> +++ b/drivers/gpu/drm/xe/xe_devcoredump_types.h
> @@ -26,6 +26,8 @@ struct xe_devcoredump_snapshot {
> ktime_t snapshot_time;
> /** @boot_time: Relative boot time so the uptime can be calculated. */
> ktime_t boot_time;
> + /** @process_name: Name of process that triggered this gpu hang */
> + char process_name[TASK_COMM_LEN];
>
> /** @gt: Affected GT, used by forcewake for delayed capture */
> struct xe_gt *gt;
>
> References
>
> Visible links
> 1. mailto:rodrigo.vivi@intel.com
> 2. mailto:nirmoy.das@intel.com
> 3. mailto:jose.souza@intel.com
> 4. mailto:nirmoy.das@intel.com
prev parent reply other threads:[~2024-05-23 17:39 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-22 20:12 [PATCH v3] drm/xe: Add process name to devcoredump José Roberto de Souza
2024-05-22 20:17 ` ✓ CI.Patch_applied: success for drm/xe: Add process name to devcoredump (rev3) Patchwork
2024-05-22 20:17 ` ✓ CI.checkpatch: " Patchwork
2024-05-22 20:18 ` ✓ CI.KUnit: " Patchwork
2024-05-22 20:30 ` ✓ CI.Build: " Patchwork
2024-05-22 20:32 ` ✓ CI.Hooks: " Patchwork
2024-05-22 20:34 ` ✓ CI.checksparse: " Patchwork
2024-05-22 21:13 ` ✓ CI.BAT: " Patchwork
2024-05-23 0:00 ` ✗ CI.FULL: failure " Patchwork
2024-05-23 10:23 ` [PATCH v3] drm/xe: Add process name to devcoredump Nirmoy Das
2024-05-23 17:39 ` Rodrigo Vivi [this message]
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=Zk9_STt9LeCUua1J@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jose.souza@intel.com \
--cc=nirmoy.das@intel.com \
--cc=nirmoy.das@linux.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.