• Chris Wilson's avatar
    drm/i915: Use trace_printk to provide a death rattle for GEM · bccd3b83
    Chris Wilson authored
    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
    Suggested-by: default avatarMichał Winiarski <michal.winiarski@intel.com>
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20171109143019.16568-1-chris@chris-wilson.co.uk
    bccd3b83
intel_lrc.c 70.4 KB