From: John.C.Harrison@Intel.com
To: Intel-GFX@Lists.FreeDesktop.Org
Cc: DRI-Devel@Lists.FreeDesktop.Org,
John Harrison <John.C.Harrison@Intel.com>,
Julia Filipchuk <julia.filipchuk@intel.com>
Subject: [PATCH v8 10/11] drm/xe/guc: Add GuC log to devcoredump captures
Date: Thu, 19 Sep 2024 20:20:05 -0700 [thread overview]
Message-ID: <20240920032007.629624-11-John.C.Harrison@Intel.com> (raw)
In-Reply-To: <20240920032007.629624-1-John.C.Harrison@Intel.com>
From: John Harrison <John.C.Harrison@Intel.com>
Include the GuC log in devcoredump captures because they can be useful
with debugging certain types of bug.
v2: Fix kerneldoc
v3: Drop module parameter as now using more compact ascii85 encoding
rather than hexdump (although still not compressed) (review feedback
from Matthew B). Rebase onto recent refactoring of devcoredump code.
v4: Don't move the submission snapshot inside the GuC internals
structure 'cos it really doesn't belong there.
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Julia Filipchuk <julia.filipchuk@intel.com>
---
drivers/gpu/drm/xe/xe_devcoredump.c | 16 ++++++++++++----
drivers/gpu/drm/xe/xe_devcoredump_types.h | 10 +++++++---
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 0884c49942fe..a2d816713489 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -18,8 +18,10 @@
#include "xe_gt.h"
#include "xe_gt_printk.h"
#include "xe_guc_ct.h"
+#include "xe_guc_log.h"
#include "xe_guc_submit.h"
#include "xe_hw_engine.h"
+#include "xe_module.h"
#include "xe_sched_job.h"
#include "xe_vm.h"
@@ -100,8 +102,10 @@ static ssize_t __xe_devcoredump_read(char *buffer, size_t count,
drm_printf(&p, "\n**** GT #%d ****\n", ss->gt->info.id);
drm_printf(&p, "\tTile: %d\n", ss->gt->tile->id);
+ drm_puts(&p, "\n**** GuC Log ****\n");
+ xe_guc_log_snapshot_print(ss->guc.log, &p);
drm_puts(&p, "\n**** GuC CT ****\n");
- xe_guc_ct_snapshot_print(ss->ct, &p);
+ xe_guc_ct_snapshot_print(ss->guc.ct, &p);
drm_puts(&p, "\n**** Contexts ****\n");
xe_guc_exec_queue_snapshot_print(ss->ge, &p);
@@ -124,8 +128,11 @@ static void xe_devcoredump_snapshot_free(struct xe_devcoredump_snapshot *ss)
{
int i;
- xe_guc_ct_snapshot_free(ss->ct);
- ss->ct = NULL;
+ xe_guc_log_snapshot_free(ss->guc.log);
+ ss->guc.log = NULL;
+
+ xe_guc_ct_snapshot_free(ss->guc.ct);
+ ss->guc.ct = NULL;
xe_guc_exec_queue_snapshot_free(ss->ge);
ss->ge = NULL;
@@ -253,7 +260,8 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
if (xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL))
xe_gt_info(ss->gt, "failed to get forcewake for coredump capture\n");
- ss->ct = xe_guc_ct_snapshot_capture(&guc->ct, true);
+ ss->guc.log = xe_guc_log_snapshot_capture(&guc->log, true);
+ ss->guc.ct = xe_guc_ct_snapshot_capture(&guc->ct, true);
ss->ge = xe_guc_exec_queue_snapshot_capture(q);
ss->job = xe_sched_job_snapshot_capture(job);
ss->vm = xe_vm_snapshot_capture(q->vm);
diff --git a/drivers/gpu/drm/xe/xe_devcoredump_types.h b/drivers/gpu/drm/xe/xe_devcoredump_types.h
index 3cc2f095fdfb..06ac75ce63dd 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump_types.h
+++ b/drivers/gpu/drm/xe/xe_devcoredump_types.h
@@ -34,9 +34,13 @@ struct xe_devcoredump_snapshot {
/** @work: Workqueue for deferred capture outside of signaling context */
struct work_struct work;
- /* GuC snapshots */
- /** @ct: GuC CT snapshot */
- struct xe_guc_ct_snapshot *ct;
+ /** @guc: GuC snapshots */
+ struct {
+ /** @guc.ct: GuC CT snapshot */
+ struct xe_guc_ct_snapshot *ct;
+ /** @guc.log: GuC log snapshot */
+ struct xe_guc_log_snapshot *log;
+ } guc;
/** @ge: GuC Submission Engine snapshot */
struct xe_guc_submit_exec_queue_snapshot *ge;
--
2.46.0
next prev parent reply other threads:[~2024-09-20 3:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-20 3:19 [PATCH v8 00/11] drm/xe/guc: Improve GuC log dumping and add to devcoredump John.C.Harrison
2024-09-20 3:19 ` [PATCH v8 01/11] drm/xe/guc: Remove spurious line feed in debug print John.C.Harrison
2024-09-20 3:19 ` [PATCH v8 02/11] drm/xe/devcoredump: Use drm_puts and already cached local variables John.C.Harrison
2024-09-20 3:19 ` [PATCH v8 03/11] drm/xe/devcoredump: Improve section headings and add tile info John.C.Harrison
2024-09-20 3:19 ` [PATCH v8 04/11] drm/xe/devcoredump: Add ASCII85 dump helper function John.C.Harrison
2024-09-20 3:20 ` [PATCH v8 05/11] drm/xe/guc: Copy GuC log prior to dumping John.C.Harrison
2024-09-20 3:20 ` [PATCH v8 06/11] drm/xe/guc: Use a two stage dump for GuC logs and add more info John.C.Harrison
2024-09-20 3:20 ` [PATCH v8 07/11] drm/print: Introduce drm_line_printer John.C.Harrison
2024-09-20 3:20 ` [PATCH v8 08/11] drm/xe/guc: Dead CT helper John.C.Harrison
2024-09-20 3:20 ` [PATCH v8 09/11] drm/xe/guc: Dump entire CTB on errors John.C.Harrison
2024-09-20 3:20 ` John.C.Harrison [this message]
2024-09-20 3:20 ` [PATCH v8 11/11] drm/xe/guc: Add a helper function for dumping GuC log to dmesg John.C.Harrison
2024-09-20 3:22 ` [PATCH v8 00/11] drm/xe/guc: Improve GuC log dumping and add to devcoredump John Harrison
2024-09-20 7:12 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2024-09-20 7:12 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-09-20 7:13 ` ✓ Fi.CI.BAT: success " Patchwork
2024-09-20 23:26 ` ✗ Fi.CI.IGT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2024-09-20 3:20 [PATCH v8 00/11] " John.C.Harrison
2024-09-20 3:21 ` [PATCH v8 10/11] drm/xe/guc: Add GuC log to devcoredump captures John.C.Harrison
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=20240920032007.629624-11-John.C.Harrison@Intel.com \
--to=john.c.harrison@intel.com \
--cc=DRI-Devel@Lists.FreeDesktop.Org \
--cc=Intel-GFX@Lists.FreeDesktop.Org \
--cc=julia.filipchuk@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.