Skip to content

Commit

Permalink
mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling
Browse files Browse the repository at this point in the history
PF_MEMALLOC direct reclaimers get throttled on a node when the sum of
all free pages in each zone fall below half the min watermark.  During
the summation, we want to exclude zones that don't have reclaimables.
Checking the same pgdat over and over again doesn't make sense.

Fixes: 599d0c9 ("mm, vmscan: move LRU lists to node")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Johannes Weiner <[email protected]>
Acked-by: Hillf Danton <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Cc: Jia He <[email protected]>
Cc: Mel Gorman <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
hnaz authored and torvalds committed May 3, 2017
1 parent c73322d commit d450abd
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions mm/vmscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -2835,8 +2835,10 @@ static bool allow_direct_reclaim(pg_data_t *pgdat)

for (i = 0; i <= ZONE_NORMAL; i++) {
zone = &pgdat->node_zones[i];
if (!managed_zone(zone) ||
pgdat_reclaimable_pages(pgdat) == 0)
if (!managed_zone(zone))
continue;

if (!zone_reclaimable_pages(zone))
continue;

pfmemalloc_reserve += min_wmark_pages(zone);
Expand Down

0 comments on commit d450abd

Please sign in to comment.