drm/i915: Only restrict noreclaim in the early shrink passes
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Jun 2017 11:03:48 +0000 (12:03 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 14 Jun 2017 09:53:37 +0000 (10:53 +0100)
In our first pass, we do not want to use reclaim at all as we want to
solely reap the i915 buffer caches (its purgeable pages). But we don't
mind it initiates IO or pulls via the FS (but it shouldn't anyway as we
say no to reclaim!). Just drop the GFP_IO constraint for simplicity.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170609110350.1767-3-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_gem.c

index b22145a876c5bd158552c0b07d1dca027c8aef47..31cbe78171a99f50b8a1b2993f30bf8ac201386a 100644 (file)
@@ -2367,8 +2367,7 @@ rebuild_st:
         * Fail silently without starting the shrinker
         */
        mapping = obj->base.filp->f_mapping;
-       noreclaim = mapping_gfp_constraint(mapping,
-                                          ~(__GFP_IO | __GFP_RECLAIM));
+       noreclaim = mapping_gfp_constraint(mapping, ~__GFP_RECLAIM);
        noreclaim |= __GFP_NORETRY | __GFP_NOWARN;
 
        sg = st->sgl;