Comment 12 for bug 516676

Revision history for this message
In , Carl Worth (cworth) wrote :

Hi Bryce,

For any bugs showing mysterious Intel-graphics crashes with libdrm 2.4.17,
please encourage the bug reporters to re-try with libdrm 2.4.18 (just
released today). It includes the commit below.

I'll mark this as NEEDINFO for now. Please update the bug (and clear
NEEDINFO) after adding results of testing with libdrm 2.4.18.

-Carl

commit 4f0f871730b76730ca58209181d16725b0c40184
Author: Chris Wilson <email address hidden>
Date: Wed Feb 10 09:45:13 2010 +0000

    intel: Handle resetting of input params after EINTR during SET_TILING

    The SET_TILING is pernicious in that it overwrites the input arguments
    following an error in order to report the current tiling state of the
    buffer. This caught us by surprise as we then fed those arguments back
    into to the ioctl unmodified following an EINTR and so the kernel then
    reported success for the no-op. We interpreted this success as meaning
    that the tiling on the buffer had changed so updated our state and
    started using the buffer incorrectly in the new tiled/untiled manner.
    This lead to all sorts of random corruption and GPU hangs, even though
    the batch buffers would look sane (when the GPU had not wandered off
    into forbidden territory).

    References:

      Bug 25475 - [i915] Xorg crash / Execbuf while wedged
      http://bugs.freedesktop.org/show_bug.cgi?id=25475

      Bug 25554 - i830_uxa_prepare_access: gtt bo map failed: Input/output error
      http://bugs.freedesktop.org/show_bug.cgi?id=25554

    (And probably every other weird bug in the last few months.)

    Signed-off-by: Chris Wilson <email address hidden>