[PATCH] drm/xe/guc: Fix GuC log/ct output via debugfs

Lucas De Marchi lucas.demarchi at intel.com
Wed Jan 1 23:38:58 UTC 2025


On Thu, Dec 26, 2024 at 01:44:53PM -0800, Julia Filipchuk wrote:
>Enable GuC log dumping when accessed through debugfs (was temporarily
>disabled for all code paths).

humn... is this actually fixing it?

__xe_devcoredump_read()
   drm_coredump_printer()
   xe_guc_log_snapshot_print()
     xe_print_blob_ascii85()
     
this was the problematic sequence and afaics it continues to be.

>Correct coverity issue of unreachable
>code.

Kind of pointless here. We surely know it's unreachable. On purpose.

>
>Signed-off-by: Julia Filipchuk <julia.filipchuk at intel.com>
>---
> drivers/gpu/drm/xe/xe_devcoredump.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
>index 6980304c8903..cdc2280d61c3 100644
>--- a/drivers/gpu/drm/xe/xe_devcoredump.c
>+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
>@@ -424,10 +424,12 @@ void xe_print_blob_ascii85(struct drm_printer *p, const char *prefix,
> 	 * Splitting blobs across multiple lines is not compatible with the mesa
> 	 * debug decoder tool. Note that even dropping the explicit '\n' below
> 	 * doesn't help because the GuC log is so big some underlying implementation
>-	 * still splits the lines at 512K characters. So just bail completely for
>-	 * the moment.
>+	 * still splits the lines at 512K characters.
>+	 *
>+	 * When printing to dmesg stop don't output. Allow output through debugfs.

I think you got confused that the problem was dmesg... no, the problem
was the \n in the devcoredump and with this patch it would show up
again.

Cc: José Roberto de Souza <jose.souza at intel.com>

Lucas De Marchi

> 	 */
>-	return;
>+	if (p->line.series > 0)
>+		return;
>
> #define DMESG_MAX_LINE_LEN	800
> #define MIN_SPACE		(ASCII85_BUFSZ + 2)		/* 85 + "\n\0" */
>-- 
>2.47.1
>


More information about the Intel-xe mailing list