[PATCH] drm/xe/guc: Reformat dead CT reason string to be devcoredump compatible

John Harrison john.c.harrison at intel.com
Wed Mar 26 18:32:43 UTC 2025


On 3/25/2025 9:23 PM, Lucas De Marchi wrote:
> On Tue, Mar 25, 2025 at 01:31:11PM -0700, John.C.Harrison at Intel.com 
> wrote:
>> From: John Harrison <John.C.Harrison at Intel.com>
>>
>> The dump on a dead CT tries to emulate the devcoredump formatting (it
>> would use devcoredump code directly but that requires more re-work to
>> happen - work in progress). So update the print of the dead CT reason
>> code to match the format of the 'reason' string that was added to the
>> actual devcoredump a little while ago.
>>
>> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
>
>
> Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
Thanks.

>
> I stumbled upon this a couple of times and wondered why ct_dead_print()
> is "emulating" a "**** Xe Device Coredump ****". Maybe that should be
> delegated to xe_devcoredump only and allow xe_guc_ct to select what to
> include?
It's not about filtering out stuff that is unnecessary, but about being 
able to call the core dump code from random places.

As per the commit message comment, I have local patches to get rid of 
the fake coredump completely and just call into the official 
xe_devcoredump code but it still needs some work before it is ready to 
upstream. I think I did post an RFC version of it some while back but I 
haven't had chance to work on it since. Largely, the issue is that the 
coredump code currently requires a DRM q/job object. So there is a lot 
of splitting up required to allow a dump starting from just a gt or an 
xe object.

I'll try to get back to this sooner rather than later...

John.

>
> Lucas De Marchi
>
>> ---
>> drivers/gpu/drm/xe/xe_guc_ct.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c 
>> b/drivers/gpu/drm/xe/xe_guc_ct.c
>> index 72ad576fc18e..686fe664c20d 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
>> @@ -1828,10 +1828,10 @@ static void ct_dead_print(struct xe_dead_ct 
>> *dead)
>>         return;
>>     }
>>
>> -    drm_printf(&lp, "CTB is dead - reason=0x%X\n", dead->reason);
>>
>>     /* Can't generate a genuine core dump at this point, so just do 
>> the good bits */
>>     drm_puts(&lp, "**** Xe Device Coredump ****\n");
>> +    drm_printf(&lp, "Reason: CTB is dead - 0x%X\n", dead->reason);
>>     xe_device_snapshot_print(xe, &lp);
>>
>>     drm_printf(&lp, "**** GT #%d ****\n", gt->info.id);
>> -- 
>> 2.49.0
>>



More information about the Intel-xe mailing list