Lines Matching refs:low_pfn
785 * @low_pfn: The first PFN to isolate
790 * [low_pfn, end_pfn). The range is expected to be within same pageblock.
800 isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
809 unsigned long start_pfn = low_pfn;
838 next_skip_pfn = block_end_pfn(low_pfn, cc->order);
842 for (; low_pfn < end_pfn; low_pfn++) {
844 if (skip_on_failure && low_pfn >= next_skip_pfn) {
858 * next_skip_pfn by 1 << order, as low_pfn might have
863 next_skip_pfn = block_end_pfn(low_pfn, cc->order);
871 if (!(low_pfn % SWAP_CLUSTER_MAX)
874 low_pfn = 0;
878 if (!pfn_valid_within(low_pfn))
882 page = pfn_to_page(low_pfn);
890 if (!valid_page && IS_ALIGNED(low_pfn, pageblock_nr_pages)) {
892 low_pfn = end_pfn;
910 * valid order range to prevent low_pfn overflow.
913 low_pfn += (1UL << freepage_order) - 1;
929 low_pfn += (1UL << order) - 1;
982 if (test_and_set_skip(cc, page, low_pfn))
996 low_pfn += compound_nr(page) - 1;
1009 low_pfn += compound_nr(page) - 1;
1030 ++low_pfn;
1054 if (low_pfn < next_skip_pfn) {
1055 low_pfn = next_skip_pfn - 1;
1068 if (unlikely(low_pfn > end_pfn))
1069 low_pfn = end_pfn;
1083 if (low_pfn == end_pfn && (!nr_isolated || cc->rescan)) {
1086 update_cached_migrate(cc, low_pfn);
1089 trace_mm_compaction_isolate_migratepages(start_pfn, low_pfn,
1097 return low_pfn;
1301 unsigned long low_pfn, min_pfn, highest = 0;
1326 low_pfn = pageblock_start_pfn(cc->free_pfn - (distance >> 2));
1329 if (WARN_ON_ONCE(min_pfn > low_pfn))
1330 low_pfn = min_pfn;
1364 if (pfn >= low_pfn) {
1450 low_pfn = page_to_pfn(page);
1451 fast_isolate_around(cc, low_pfn);
1452 return low_pfn;
1466 unsigned long low_pfn; /* lowest pfn scanner is able to scan */
1490 low_pfn = pageblock_end_pfn(cc->migrate_pfn);
1498 for (; block_start_pfn >= low_pfn;
1563 * and the loop terminated due to isolate_start_pfn < low_pfn
1775 unsigned long low_pfn;
1787 low_pfn = fast_find_migrateblock(cc);
1788 block_start_pfn = pageblock_start_pfn(low_pfn);
1797 fast_find_block = low_pfn != cc->migrate_pfn && !cc->fast_search_fail;
1800 block_end_pfn = pageblock_end_pfn(low_pfn);
1808 low_pfn = block_end_pfn,
1817 if (!(low_pfn % (SWAP_CLUSTER_MAX * pageblock_nr_pages)))
1832 if (IS_ALIGNED(low_pfn, pageblock_nr_pages) &&
1850 low_pfn = isolate_migratepages_block(cc, low_pfn,
1853 if (!low_pfn)
1865 cc->migrate_pfn = low_pfn;