Commit 605cf7a17583cbbdbb58a99c6752133ad0f5c378

Authored by Mel Gorman
Committed by Jiri Slaby
1 parent 55dcadc275

mm: page_alloc: do not treat a zone that cannot be used for dirty pages as "full"

commit 800a1e750c7b04c2aa2459afca77e936e01c0029 upstream.

If a zone cannot be used for a dirty page then it gets marked "full" which
is cached in the zlc and later potentially skipped by allocation requests
that have nothing to do with dirty zones.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

... ... @@ -1966,7 +1966,7 @@
1966 1966 */
1967 1967 if ((alloc_flags & ALLOC_WMARK_LOW) &&
1968 1968 (gfp_mask & __GFP_WRITE) && !zone_dirty_ok(zone))
1969   - goto this_zone_full;
  1969 + continue;
1970 1970  
1971 1971 mark = zone->watermark[alloc_flags & ALLOC_WMARK_MASK];
1972 1972 if (!zone_watermark_ok(zone, order, mark,