[Nouveau] Fix for potential nouveau-ddx/x-server crash on XOrg 1.12+
Mario Kleiner
mario.kleiner at tuebingen.mpg.de
Tue Oct 9 00:06:58 PDT 2012
Hi all,
the following patch fixes a race-condition in the nouveau
ddx which caused frequent x-server crashes for at least 1
user under some loads when OpenGL triple-buffering is enabled,
which it is by default on XOrg 1.12 and later.
As a side effect, it provides a small optimization for the
common case of bufferswap at next vblank.
The other way to avoid the race + possible crash is
to set Option "SwapLimit" "1" in xorg.conf, but at a
performance loss due to double-buffering instead of
pseudo-triple-buffering.
Tested by me on Ubuntu 12.10 beta + XOrg 1.13 + nouveau-ddx
master, with/without triple-buffering, with/without compiz+unity,
with/without kms pageflipping.
Also successfully tested by Anssi Hannula, the original reporter
of the crash, on his setup.
Please review and apply if appropriate.
thanks,
-mario
More information about the Nouveau
mailing list