OSDN Git Service

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 4e82ca4..50e7e3a 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)))