drm/i915: Break after walking all GGTT vma in bump_inactive_ggtt
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Dec 2016 14:57:55 +0000 (14:57 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Dec 2016 16:06:56 +0000 (16:06 +0000)
Since commit db6c2b4151f2 ("drm/i915: Store the vma in an rbtree under
the object") the vma are once again sorted into GGTT first, then ppGTT
so that the typical case of walking the GGTT vma can stop as soon as we
find a non-ppGTT. Apply that optimisation.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161223145804.6605-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c

index 5275f6248ce38adde4030231dfa470ce22878d99..84ab7099ff7425ea46bfc1fb0d033afbbe6d67df 100644 (file)
@@ -1515,7 +1515,7 @@ static void i915_gem_object_bump_inactive_ggtt(struct drm_i915_gem_object *obj)
 
        list_for_each_entry(vma, &obj->vma_list, obj_link) {
                if (!i915_vma_is_ggtt(vma))
-                       continue;
+                       break;
 
                if (i915_vma_is_active(vma))
                        continue;