[Intel-gfx] [PATCH v3] drm/i915: Use trace_printk to provide a death rattle for GEM

Chris Wilson chris at chris-wilson.co.uk
Thu Nov 9 14:32:45 UTC 2017


Quoting Chris Wilson (2017-11-09 14:30:19)
> Trying to enable printk debugging for GEM is fraught with the issue of
> spam; interactions with HW are very frequent and often boring. However,
> one instance where they are not so boring is just before a BUG; here
> ftrace provides a facility to dump its ringbuffer on an oops. So for CI
> let's enable trace_printk() to capture the last exchanges with HW as a
> death rattle.
> 
> For example,
> [   79.234110] ------------[ cut here ]------------
> [   79.234137] kernel BUG at drivers/gpu/drm/i915/intel_lrc.c:907!
> [   79.234145] invalid opcode: 0000 [#1] SMP
> [   79.234153] Dumping ftrace buffer:
> [   79.234158] ---------------------------------
> ...
> [   79.314044] gem_conc-1059    1..s1 79203443us : intel_lrc_irq_handler: bcs0 out[0]: ctx=5.2, seqno=145
> [   79.314089] gem_conc-1059    1..s. 79220800us : intel_lrc_irq_handler: bcs0 csb[1/1]: status=0x00000018:0x00000005
> [   79.314133] gem_conc-1059    1..s. 79220803us : intel_lrc_irq_handler: bcs0 out[0]: ctx=5.1, seqno=145
> [   79.314177] gem_conc-1062    2..s1 79230458us : intel_lrc_irq_handler: bcs0 in[0]:  ctx=8.1, seqno=146
> [   79.314220] gem_conc-1062    2..s1 79230515us : intel_lrc_irq_handler: bcs0 in[0]:  ctx=8.2, seqno=147
> [   79.314265] gem_conc-1059    1..s1 79230951us : intel_lrc_irq_handler: bcs0 csb[2/3]: status=0x00000012:0x00000008
> [   79.314309] gem_conc-1059    1..s1 79230954us : intel_lrc_irq_handler: bcs0 out[0]: ctx=8.2, seqno=147
> [   79.314353] gem_conc-1059    1..s1 79230954us : intel_lrc_irq_handler: bcs0 csb[3/3]: status=0x00008002:0x00000008
> [   79.314396] gem_conc-1059    1..s1 79230955us : intel_lrc_irq_handler: bcs0 out[0]: ctx=8.1, seqno=147
> [   79.314402] ---------------------------------
> 
> v2: Tweak the formatting to be more consistent between in/out.
> v3: do {} while (0) stub macro protection

I should include a

Suggested-by: MichaƂ Winiarski <michal.winiarski at intel.com>

as the idea that we can use trace_printk for oops debugging came from him.
-Chris


More information about the Intel-gfx mailing list