Re: GTT full but LRU empty

From: Eric Anholt
Date: Mon Jan 26 2009 - 17:38:49 EST


On Mon, 2009-01-26 at 19:10 +0100, Jacek Luczak wrote:
> Hi Eric,
>
> Are those errors known?
>
> [drm:i915_gem_object_bind_to_gtt] *ERROR* GTT full, but LRU list empty
> [drm:i915_gem_object_pin] *ERROR* Failure to bind:
> -12<3>[drm:i915_gem_evict_something] *ERROR* inactive empty 1 request empty 1
> flushing empty 1
> [drm:i915_gem_object_bind_to_gtt] *ERROR* GTT full, but LRU list empty
> [drm:i915_gem_object_pin] *ERROR* Failure to bind:
> -12<3>[drm:i915_gem_evict_something] *ERROR* inactive empty 1 request empty 1
> flushing empty 1
> [drm:i915_gem_object_bind_to_gtt] *ERROR* GTT full, but LRU list empty
> [drm:i915_gem_object_pin] *ERROR* Failure to bind:
> -12<3>[drm:i915_gem_execbuffer] *ERROR* Failed to pin buffers -12
> [drm:i915_gem_object_bind_to_gtt] *ERROR* GTT full, but LRU list empty
> [drm:i915_gem_object_pin] *ERROR* Failure to bind:
> -12<3>[drm:i915_gem_evict_something] *ERROR* inactive empty 1 request empty 1
> flushing empty 1
> [drm:i915_gem_object_bind_to_gtt] *ERROR* GTT full, but LRU list empty
> [drm:i915_gem_object_pin] *ERROR* Failure to bind:
> -12<3>[drm:i915_gem_execbuffer] *ERROR* Failed to pin buffers -12
>
> They appeared once and no more, but I've changed my configuration in between
> (switched to UXA, removed IntelFB from kernel).

Those messages occur when a client asks the kernel to exec a batchbuffer
that the kernel can't fit into the unpinned aperture space. Userland is
supposed to be tracking how much space its stuff uses and flushing
before that time, but certain bad things could break that by violating
the assumption that the amount of pinned space doesn't change. Our XV
code today, for example. I've been working on cleaning up the remaining
bad userland bits, but it's painful work. Luckily, other than dmesg
spam warning that some rendering just go dropped on the floor, and some
rendering not occurring, nothing else harmful should be happening.

--
Eric Anholt
eric@xxxxxxxxxx eric.anholt@xxxxxxxxx


Attachment: signature.asc
Description: This is a digitally signed message part