compaction.c (17deb9c2db01c7813611291d251d8c7dbdfd3c9d) compaction.c (f6ea3adb70b20ae36277a1b0eaaf4da9f6479a28)
1/*
2 * linux/mm/compaction.c
3 *
4 * Memory compaction for the reduction of external fragmentation. Note that
5 * this heavily depends upon page migration to do all the real heavy
6 * lifting
7 *
8 * Copyright IBM Corp. 2007-2010 Mel Gorman <mel@csn.ul.ie>

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

672 * Isolate free pages until enough are available to migrate the
673 * pages on cc->migratepages. We stop searching if the migrate
674 * and free page scanners meet or enough free pages are isolated.
675 */
676 for (; pfn > low_pfn && cc->nr_migratepages > nr_freepages;
677 pfn -= pageblock_nr_pages) {
678 unsigned long isolated;
679
1/*
2 * linux/mm/compaction.c
3 *
4 * Memory compaction for the reduction of external fragmentation. Note that
5 * this heavily depends upon page migration to do all the real heavy
6 * lifting
7 *
8 * Copyright IBM Corp. 2007-2010 Mel Gorman <mel@csn.ul.ie>

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

672 * Isolate free pages until enough are available to migrate the
673 * pages on cc->migratepages. We stop searching if the migrate
674 * and free page scanners meet or enough free pages are isolated.
675 */
676 for (; pfn > low_pfn && cc->nr_migratepages > nr_freepages;
677 pfn -= pageblock_nr_pages) {
678 unsigned long isolated;
679
680 /*
681 * This can iterate a massively long zone without finding any
682 * suitable migration targets, so periodically check if we need
683 * to schedule.
684 */
685 cond_resched();
686
680 if (!pfn_valid(pfn))
681 continue;
682
683 /*
684 * Check for overlapping nodes/zones. It's possible on some
685 * configurations to have a setup like
686 * node0 node1 node0
687 * i.e. it's possible that all pages within a zones range of

--- 525 unchanged lines hidden ---
687 if (!pfn_valid(pfn))
688 continue;
689
690 /*
691 * Check for overlapping nodes/zones. It's possible on some
692 * configurations to have a setup like
693 * node0 node1 node0
694 * i.e. it's possible that all pages within a zones range of

--- 525 unchanged lines hidden ---