[Mesa-dev] [PATCH 02/11] intel/tools/error: Drop support for non-ascii85 encoded error states.

Chris Wilson chris at chris-wilson.co.uk
Sun Nov 12 08:57:00 UTC 2017


Quoting Kenneth Graunke (2017-11-12 08:35:03)
> Error state files used to look like:
> 
>    render ring --- gtt_offset = 0x0e8f6000
>    00000000 :  69040000
>    00000004 :  79090000
>    ...
>    00007ffc :  00000000
>    --- ringbuffer = 0x00001000
> 
> There were thousands of lines between sections.  The file format changed
> with Kernel 4.10, and now has a single ascii85-encoded line following
> each section heading.  This is much easier to parse.
> 
> There are a bunch of bugs in our handling of the old style format,
> where we'd decode the wrong data, at the wrong time.  Fixing all of
> these is going to be a giant pain.  It's also a lot of extra code
> complexity.  In order to properly decode indirect state, or compute
> shaders, we'll also need to parse data in advance of decoding, which
> is going to be a giant pain with this ad-hoc "decode everywhere!"
> mentality.  So, let's just drop support for the older file format.
> 
> This unfortunately requires an error state generated by Kernel 4.10 or
> later.  That's probably not the end of the world, as we encourage users
> to upgrade to the latest kernel when encountering GPU hangs anyway.  It
> might be a giant pain for people with LTS kernels, though...

Since ~4.9, we have a 6 month sunset clause in the kernels. If your
kernel is older than 6 months, we stop suggesting to report bugs for a
GPU hang. So from my pov, anything that isn't in a new format you can
simply ask the reporter to update their drivers before you even look at
the bug. From your pov, without EXEC_OBJECT_CAPTURE, there isn't enough
information in the error state anyway, and that's v4.13.

Seems reasonable to focus on fixing bugs than telling users with stale
drivers, that they have stale drivers.
-Chris


More information about the mesa-dev mailing list