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

Souza, Jose jose.souza at intel.com
Thu Jan 23 18:56:58 UTC 2025


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.

> 
> 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