OSDN Git Service

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 5275f62..84ab709 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;