[Intel-gfx] [PATCH] drm/i915: Fix CPU-spinning hangs related to fence usage using an LRU.
chris at chris-wilson.co.uk
Tue Sep 1 04:10:46 PDT 2009
Excerpts from Eric Anholt's message of Sat Aug 29 21:26:41 +0100 2009:
> The lack of a proper LRU was partially worked around by taking the fence
> with the object containing the oldest seqno to steal from. But if there
> are multiple objects inactive, then they don't have seqnos and the first
> in fence reg among them would be chosen. If you were trying to copy data
> between two mappings, this could result in each page fault stealing the fence
> from the other argument, and your application hanging.
I added a gem_fence_thrash to intel-gpu-tools/test, in case the success
reports from the bugs weren't enough to convince you that the patch
However, gem_fence_thrash does throw up one weird result on my i915:
$ time ./gem_fence_thrash:
After (with LRU fences):
$ time ./gem_fence_thrash
The cause is not entirely obvious on the CPU profiles (and as can be
seen above the CPU is 100% busy).
More information about the Intel-gfx