drm/i915: VM eviction only targets address space not physical pages
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 28 Jan 2014 18:08:38 +0000 (18:08 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 29 Jan 2014 20:29:40 +0000 (21:29 +0100)
During eviction, we are only considering how to free up space within the
current address space and not concerned with freeing up physical memory.
As such we need only skip nodes that pinned in the current VM and not
globally.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_evict.c

index 4e82ca4a7a52e4dc90adf685dd5b72acfe294c3d..50e7e3a5d1cb46c26cb2db2a8f26699785ac1951 100644 (file)
@@ -36,8 +36,7 @@
 static bool
 mark_free(struct i915_vma *vma, struct list_head *unwind)
 {
-       /* Freeing up memory requires no VMAs are pinned */
-       if (i915_gem_obj_is_pinned(vma->obj))
+       if (vma->pin_count)
                return false;
 
        if (WARN_ON(!list_empty(&vma->exec_list)))