Re: GTT full but LRU empty

From: Jacek Luczak
Date: Tue Jan 27 2009 - 03:05:49 EST


Eric Anholt pisze:
> 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.

Thanks Eric. So it's mostly broken userspace. Pity that I don't remember what I
was running while this error occurred.

-Jacek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/