drm/i915: Use NOEVICT for first pass on attemping to pin a GGTT mmap
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 26 Aug 2019 13:07:50 +0000 (14:07 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 27 Aug 2019 09:36:48 +0000 (10:36 +0100)
The intention is that we first try to pin the current vma into the
mappable aperture only if it is already in use or it fits in the free
space and will not cause contention. The first attempt was meant to be
using PIN_NOEVICT to reuse the current vma if possible, following up
with different eviction strategies.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111485
Fixes: 6846895fde05 ("drm/i915: Replace PIN_NONFAULT with calls to PIN_NOEVICT")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190826130750.17272-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_mman.c

index 595539a09e38599a0fc327c000532f76fa9aff6b..261c9bd83f518c9026ef5d13ea5d8982f703fe24 100644 (file)
@@ -265,7 +265,7 @@ vm_fault_t i915_gem_fault(struct vm_fault *vmf)
        vma = i915_gem_object_ggtt_pin(obj, NULL, 0, 0,
                                       PIN_MAPPABLE |
                                       PIN_NONBLOCK /* NOWARN */ |
-                                      PIN_NOSEARCH);
+                                      PIN_NOEVICT);
        if (IS_ERR(vma)) {
                /* Use a partial view if it is bigger than available space */
                struct i915_ggtt_view view =