[Intel-gfx] [PATCH 5/7] drm/i915/guc: Add extra debug on CT deadlock

Matthew Brost matthew.brost at intel.com
Sat Dec 11 03:24:57 UTC 2021


On Fri, Dec 10, 2021 at 05:45:05PM -0800, John Harrison wrote:
> On 12/10/2021 17:43, John Harrison wrote:
> > On 12/10/2021 16:56, Matthew Brost wrote:
> > > Print CT state (H2G + G2H head / tail pointers, credits) on CT
> > > deadlock.
> > > 
> > > Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> > Reviewed-by: John Harrison <John.C.Harrison at Intel.com>
> > 
> > > ---
> > >   drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 9 +++++++++
> > >   1 file changed, 9 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> > > b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> > > index a0cc34be7b56..ee5525c6f79b 100644
> > > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> > > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> > > @@ -523,6 +523,15 @@ static inline bool ct_deadlocked(struct
> > > intel_guc_ct *ct)
> > >           CT_ERROR(ct, "Communication stalled for %lld ms, desc
> > > status=%#x,%#x\n",
> > >                ktime_ms_delta(ktime_get(), ct->stall_time),
> > >                send->status, recv->status);
> > > +        CT_ERROR(ct, "H2G Space: %u\n",
> > > +             atomic_read(&ct->ctbs.send.space) * 4);
> > > +        CT_ERROR(ct, "Head: %u\n", ct->ctbs.send.desc->head);
> > > +        CT_ERROR(ct, "Tail: %u\n", ct->ctbs.send.desc->tail);
> Actually, aren't these offsets in dwords? So, scaling the dword space to
> bytes but leaving this as dwords would produce a confusing numbers.
> 

Copy + pasted from CT debugfs but yes it is slightly confusing. I'd
rather leave the head / tail in native format but I'll add info to both
the space / pointers print indicating the units.

Matt

> John.
> 
> > > +        CT_ERROR(ct, "G2H Space: %u\n",
> > > +             atomic_read(&ct->ctbs.recv.space) * 4);
> > > +        CT_ERROR(ct, "Head: %u\n", ct->ctbs.recv.desc->head);
> > > +        CT_ERROR(ct, "Tail: %u\n", ct->ctbs.recv.desc->tail);
> > > +
> > >           ct->ctbs.send.broken = true;
> > >       }
> > 
> 


More information about the Intel-gfx mailing list