mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling
[ Upstream commit d450abd81b081d45adb12f303a07dd44b15eb1bc ] 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: 599d0c954f91 ("mm, vmscan: move LRU lists to node") Link: http://lkml.kernel.org/r/20170228214007.5621-3-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Hillf Danton <hillf.zj@alibaba-inc.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Jia He <hejianet@gmail.com> Cc: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
31da33dd8e
commit
7eb0b73397
@ -2841,8 +2841,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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user