[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