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 --- |