[PATCH 3/3] drm/xe: Drop duplicated information about GT tile in devcoredump

John Harrison john.c.harrison at intel.com
Thu Jan 23 19:27:49 UTC 2025


On 1/23/2025 10:56, Souza, Jose wrote:
> On Thu, 2025-01-23 at 10:30 -0800, John Harrison wrote:
>> On 1/23/2025 10:24, Souza, Jose wrote:
>>> On Thu, 2025-01-23 at 10:18 -0800, John Harrison wrote:
>>>> On 1/23/2025 09:59, José Roberto de Souza wrote:
>>>>> The GT tile is already available but was added again in commit
>>>>> c28fd6c358db ("drm/xe/devcoredump: Improve section headings and add tile info"),
>>>>> so here deleting it.
>>>>>
>>>>> Here a devcoredump example with the duplicated information:
>>>>>
>>>>> **** Xe Device Coredump ****
>>>>> Reason: Timedout job - seqno=4294967170, lrc_seqno=4294967170, guc_id=13, flags=0x0
>>>>> kernel: 6.13.0-zeh-xe+
>>>>> module: xe
>>>>> Snapshot time: 1737573530.243521319
>>>>> Uptime: 2588.041930284
>>>>> Process: deqp-vk [8850]
>>>>> PCI ID: 0x64a0
>>>>> PCI revision: 0x04
>>>>> GT id: 0
>>>>> 	Tile: 0
>>>>> 	Type: main
>>>>> 	IP ver: 20.4.4
>>>>> 	CS reference clock: 19200000
>>>>> GT id: 1
>>>>> 	Tile: 0
>>>>> 	Type: media
>>>>> 	IP ver: 20.0.4
>>>>> 	CS reference clock: 19200000
>>>> This is an overview of all GTs/tiles in the device within the global
>>>> section.
>>>>
>>>>> **** GT #0 ****
>>>> This is a section header telling you that everything which follows is
>>>> inside GT0.
>>>>
>>>> It is not duplicated information. And if you remove it then you now have
>>>> the information of all GTs back to back with no indication of which GT
>>>> they actually belong to.
>>> Can't you get this information from Name + class + instance? if not that should be placed in one of the sections below.
>> No. I was trying to do that originally and determined it was impossible
>> to do reliably for all current and future platforms. Hence the section
>> header was added.
>>
>> It is also much, much, much better to be explicit about debug
>> information than force people to guess based on heuristics or tribal
>> knowledge.
>>
>>> So this should be placed in one of this sections:
>> No. It is not information within a context or within a hardware engine.
>> It is the reverse. All the following contexts, hardware engines, etc.
>> are within the GT.
>>
>> And when you have multiple GTs in a single dump then you need a definite
>> delimiter to say that all the following is now in a different GT to what
>> came before.
> Can't I do a exec over a exec_queue created over engines in different tiles?
> I think we are allowed, so having tile and gt in '**** HW Engines ****' would be better.
Not that I am aware of. The whole point of the 'hw engine' section is 
that it is related to a command streamer. And those cannot bridge GTs.

John.

>
>> John.
>>
>>> GuC ID: 13
>>> 	Name: ccs13
>>> 	Class: 5
>>> 	Logical mask: 0x1
>>> 	Width: 1
>>> 	Ref: 2
>>> 	Timeout: 5000 (ms)
>>> 	Timeslice: 1000 (us)
>>> 	Preempt timeout: 640000 (us)
>>> 	HW Context Desc: 0x025e0000
>>> 	HW Ring address: 0x025dc000
>>> 	HW Indirect Ring State: 0x025e3000
>>> 	LRC Head: (memory) 152
>>> 	LRC Tail: (internal) 296, (memory) 296
>>> 	Ring start: (memory) 0x025dc000
>>> 	Start seqno: (memory) -126
>>> 	Seqno: (memory) -127
>>> 	Timestamp: 0x0000035e
>>> 	Job Timestamp: 0x0000035e
>>> 	Schedule State: 0x441
>>> 	Flags: 0x0
>>>
>>> **** HW Engines ****
>>> ccs0 (physical), logical instance=0
>>> 	Capture_source: GuC
>>> 	Coverage: full-capture
>>> 	Forcewake: domain 0x2, ref 1
>>> 	Reserved: no
>>> 	FORCEWAKE_GT: 0x00010000
>>> 	RCU_MODE: 0x00000001
>>> 	HWSTAM: 0xffffffff
>>> 	RING_HWS_PGA: 0x018db000
>>> 	RING_HEAD: 0x000000ec
>>> 	RING_TAIL: 0x00000128
>>> 	RING_CTL: 0x00003001
>>> 	RING_MI_MODE: 0x00001000
>>> 	RING_MODE: 0x00000008
>>> 	RING_ESR: 0x00000000
>>> 	RING_EMR: 0xffffffff
>>> 	RING_EIR: 0x00000000
>>> 	RING_IMR: 0x00000000
>>> 	IPEHR: 0x7a000a04
>>> 	RING_INSTDONE: 0xffdefffe
>>>
>>>> John.
>>>>
>>>>
>>>>> 	Tile: 0
>>>>>
>>>>> **** GuC Log ****
>>>>> ....
>>>>>
>>>>> Cc: John Harrison <John.C.Harrison at Intel.com>
>>>>> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
>>>>> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
>>>>> ---
>>>>>     drivers/gpu/drm/xe/xe_devcoredump.c | 3 ---
>>>>>     1 file changed, 3 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
>>>>> index 1c86e6456d60f..2996945ffee39 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
>>>>> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
>>>>> @@ -111,9 +111,6 @@ static ssize_t __xe_devcoredump_read(char *buffer, size_t count,
>>>>>     	drm_printf(&p, "Process: %s [%d]\n", ss->process_name, ss->pid);
>>>>>     	xe_device_snapshot_print(xe, &p);
>>>>>     
>>>>> -	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");



More information about the Intel-xe mailing list