OSDN Git Service

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 b22145a..31cbe78 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;