Comment 42 for bug 745608

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Ferry:
I actually don't know why it works :) Sadly I didn't get to that option by logical deduction but rather by trying everything I could... My guess is that there is a race happening where a buffer is being reused while it actually still in use. Here's what the intel man page says about the DebugWait option:

Option "DebugWait" "boolean"
Wait for the completion of every batch buffer before continuing, i.e. perform synchronous rendering.
Default: Disabled

So this changes from submitting batch buffers and *not* waiting for a reply to waiting for a reply after submitting each batch buffer (so effectively you can no longer simultaneously submit multiple batch buffers). This should also hurt speed as it is no longer possible to do so much at once so it's strange you are seeing a speed improvement...

There is also some slight evidence that this is a locking issue. Over on https://bugs.freedesktop.org/show_bug.cgi?id=36326#c8 I tried to find why certain old kernels don't show the issue and that narrowed down it down to a patch that removed the Big Kernel Lock (BKL) from various functions of the i915 driver presumably allowing more overlap.