1. 20 Sep, 2010 1 commit
    • Chris Wilson's avatar
      drm/i915: Hold a reference to the object whilst unbinding the eviction list · af626103
      Chris Wilson authored
      During heavy aperture thrashing we may be forced to wait upon several active
      objects during eviction. The active list may be the last reference to
      these objects and so the action of waiting upon one of them may cause
      another to be freed (and itself unbound). To prevent the object
      disappearing underneath us, we need to acquire and hold a reference
      whilst unbinding.
      
      This should fix the reported page refcount OOPS:
      
      kernel BUG at drivers/gpu/drm/i915/i915_gem.c:1444!
      ...
      RIP: 0010:[<ffffffffa0093026>]  [<ffffffffa0093026>] i915_gem_object_put_pages+0x25/0xf5 [i915]
      Call Trace:
       [<ffffffffa009481d>] i915_gem_object_unbind+0xc5/0x1a7 [i915]
       [<ffffffffa0098ab2>] i915_gem_evict_something+0x3bd/0x409 [i915]
       [<ffffffffa0027923>] ? drm_gem_object_lookup+0x27/0x57 [drm]
       [<ffffffffa0093bc3>] i915_gem_object_bind_to_gtt+0x1d3/0x279 [i915]
       [<ffffffffa0095b30>] i915_gem_object_pin+0xa3/0x146 [i915]
       [<ffffffffa0027948>] ? drm_gem_object_lookup+0x4c/0x57 [drm]
       [<ffffffffa00961bc>] i915_gem_do_execbuffer+0x50d/0xe32 [i915]
      Reported-by: default avatarShawn Starr <shawn.starr@rogers.com>
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=18902Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      af626103
  2. 17 Sep, 2010 3 commits
  3. 13 Sep, 2010 1 commit
  4. 12 Sep, 2010 2 commits
  5. 11 Sep, 2010 13 commits
  6. 10 Sep, 2010 20 commits