Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16fb9512 authored by Shaohua Li's avatar Shaohua Li Committed by Linus Torvalds
Browse files

vmscan: count pages into balanced for zone with good watermark



It's possible a zone watermark is ok when entering the balance_pgdat()
loop, while the zone is within the requested classzone_idx.  Count pages
from this zone into `balanced'.  In this way, we can skip shrinking zones
too much for high order allocation.

Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
Acked-by: default avatarMel Gorman <mgorman@suse.de>
Reviewed-by: default avatarMinchan Kim <minchan.kim@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 49ea7eb6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2748,6 +2748,8 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order,

			/* If balanced, clear the congested flag */
			zone_clear_flag(zone, ZONE_CONGESTED);
			if (i <= *classzone_idx)
				balanced += zone->present_pages;
		}
	}