• C
    drm/i915: Retire requests before creating a new one · 227f782e
    Chris Wilson 提交于
    More fallout from
    
    commit c8725f3d
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Mon Mar 17 12:21:55 2014 +0000
    
        drm/i915: Do not call retire_requests from wait_for_rendering
    
    is that we can completely fill all of memory using small objects, such
    that we exhaust the filp space, and spend all of our time evicting
    objects from the aperture. As such, we never fill the ring, and never
    trigger the last resort flushing in
    
    commit 1cf0ba14
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Mon May 5 09:07:33 2014 +0100
    
        drm/i915: Flush request queue when waiting for ring space
    
    and so all the requests are left active and the objects keep that last
    active reference. Eventually the system comes to a halt as it runs out
    of memory.
    
    The impact is mainly limited to test cases as regular userspace will
    trigger retirement by manually checking whether an object is active.
    
    Testcase: igt/gem_lut_handle
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78724Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
    Tested-by: NGuo Jinxian <jinxianx.guo@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    227f782e
i915_gem_execbuffer.c 39.4 KB