[Intel-gfx] [PATCH] [v4] drm/i915: Capture current context on error

Daniel Vetter daniel at ffwll.ch
Tue Mar 5 09:39:10 CET 2013


On Mon, Mar 04, 2013 at 05:00:29PM -0800, Ben Widawsky wrote:
> On error, this represents the state of the currently running context at
> the time it was loaded.
> 
> Unfortunately, since we're hung and can't switch out the context this
> may not tell us too much about the most current state of the context,
> but does give clues about what has happened since loading.
> 
> Thanks to recent doc updates, we have a little more confidence regarding
> what is actually in this memory, and perhaps it will help us gain more
> insight into certain bugs. AFAICT, the most interesting info is in the
> first page. To save space, we only capture the first page. In the
> future, we might want to dump more.
> 
> Sample of the relevant part of error state:
> render ring --- HW Context = 0x01b20000
> [0000] 00000000 1100105f 00002028 ffff0880
> [0010] 0000209c feff4040 000020c0 efdf0080
> [0020] 00002178 00000001 0000217c 00145855
> [0030] 00002310 00000000 00002314 00000000
> 
> v2: Move error collection to the ring error code
> Change format of dump to not confuse intel_error_decode (Chris)
> Put the context error object with the others (Chris)
> Don't search bound_list instead of active_list (chris)
> 
> v3: extract and flatten context recording (daniel)
> checkpatch related fixes for the copypasta in debugfs
> 
> v4: bug in v3 (Daniel)
> -       if ((ring->id == RCS) && error->ccid)
> +       if ((ring->id != RCS) || !error->ccid)

Still a redundant () pair here ... I've killed it.

> References: https://bugs.freedesktop.org/show_bug.cgi?id=55845
> Reviewed-by (v2): Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>

Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list