compaction.c (3109de308987ceae413ee015038d51e2a86c7806) compaction.c (cff387d6a2949a46d78a4f558938ef7b4cccd41f)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/mm/compaction.c
4 *
5 * Memory compaction for the reduction of external fragmentation. Note that
6 * this heavily depends upon page migration to do all the real heavy
7 * lifting
8 *

--- 2277 unchanged lines hidden (view full) ---

2286 * want to trash just for a single high order allocation which
2287 * is even not guaranteed to appear even if __compaction_suitable
2288 * is happy about the watermark check.
2289 */
2290 available = zone_reclaimable_pages(zone) / order;
2291 available += zone_page_state_snapshot(zone, NR_FREE_PAGES);
2292 compact_result = __compaction_suitable(zone, order, alloc_flags,
2293 ac->highest_zoneidx, available);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/mm/compaction.c
4 *
5 * Memory compaction for the reduction of external fragmentation. Note that
6 * this heavily depends upon page migration to do all the real heavy
7 * lifting
8 *

--- 2277 unchanged lines hidden (view full) ---

2286 * want to trash just for a single high order allocation which
2287 * is even not guaranteed to appear even if __compaction_suitable
2288 * is happy about the watermark check.
2289 */
2290 available = zone_reclaimable_pages(zone) / order;
2291 available += zone_page_state_snapshot(zone, NR_FREE_PAGES);
2292 compact_result = __compaction_suitable(zone, order, alloc_flags,
2293 ac->highest_zoneidx, available);
2294 if (compact_result != COMPACT_SKIPPED)
2294 if (compact_result == COMPACT_CONTINUE)
2295 return true;
2296 }
2297
2298 return false;
2299}
2300
2301static enum compact_result
2302compact_zone(struct compact_control *cc, struct capture_control *capc)

--- 778 unchanged lines hidden ---
2295 return true;
2296 }
2297
2298 return false;
2299}
2300
2301static enum compact_result
2302compact_zone(struct compact_control *cc, struct capture_control *capc)

--- 778 unchanged lines hidden ---