Lines Matching refs:pfn
48 #define block_start_pfn(pfn, order) round_down(pfn, 1UL << (order)) argument
49 #define block_end_pfn(pfn, order) ALIGN((pfn) + 1, 1UL << (order)) argument
50 #define pageblock_start_pfn(pfn) block_start_pfn(pfn, pageblock_order) argument
51 #define pageblock_end_pfn(pfn) block_end_pfn(pfn, pageblock_order) argument
59 unsigned long pfn = page_to_pfn(page); in release_freepages() local
62 if (pfn > high_pfn) in release_freepages()
63 high_pfn = pfn; in release_freepages()
241 __reset_isolation_pfn(struct zone *zone, unsigned long pfn, bool check_source, in __reset_isolation_pfn() argument
244 struct page *page = pfn_to_online_page(pfn); in __reset_isolation_pfn()
272 block_pfn = pageblock_start_pfn(pfn); in __reset_isolation_pfn()
277 pfn = block_pfn; in __reset_isolation_pfn()
281 block_pfn = pageblock_end_pfn(pfn) - 1; in __reset_isolation_pfn()
293 if (pfn_valid_within(pfn)) { in __reset_isolation_pfn()
306 pfn += (1 << PAGE_ALLOC_COSTLY_ORDER); in __reset_isolation_pfn()
389 unsigned long pfn) in test_and_set_skip() argument
397 if (!IS_ALIGNED(pfn, pageblock_nr_pages)) in test_and_set_skip()
407 static void update_cached_migrate(struct compact_control *cc, unsigned long pfn) in update_cached_migrate() argument
411 pfn = pageblock_end_pfn(pfn); in update_cached_migrate()
417 if (pfn > zone->compact_cached_migrate_pfn[0]) in update_cached_migrate()
418 zone->compact_cached_migrate_pfn[0] = pfn; in update_cached_migrate()
420 pfn > zone->compact_cached_migrate_pfn[1]) in update_cached_migrate()
421 zone->compact_cached_migrate_pfn[1] = pfn; in update_cached_migrate()
429 struct page *page, unsigned long pfn) in update_pageblock_skip() argument
442 if (pfn < zone->compact_cached_free_pfn) in update_pageblock_skip()
443 zone->compact_cached_free_pfn = pfn; in update_pageblock_skip()
458 struct page *page, unsigned long pfn) in update_pageblock_skip() argument
462 static void update_cached_migrate(struct compact_control *cc, unsigned long pfn) in update_cached_migrate() argument
467 unsigned long pfn) in test_and_set_skip() argument
685 unsigned long isolated, pfn, block_start_pfn, block_end_pfn; in isolate_freepages_range() local
688 pfn = start_pfn; in isolate_freepages_range()
689 block_start_pfn = pageblock_start_pfn(pfn); in isolate_freepages_range()
692 block_end_pfn = pageblock_end_pfn(pfn); in isolate_freepages_range()
694 for (; pfn < end_pfn; pfn += isolated, in isolate_freepages_range()
698 unsigned long isolate_start_pfn = pfn; in isolate_freepages_range()
707 if (pfn >= block_end_pfn) { in isolate_freepages_range()
708 block_start_pfn = pageblock_start_pfn(pfn); in isolate_freepages_range()
709 block_end_pfn = pageblock_end_pfn(pfn); in isolate_freepages_range()
738 if (pfn < end_pfn) { in isolate_freepages_range()
745 return pfn; in isolate_freepages_range()
1088 unsigned long pfn, block_start_pfn, block_end_pfn; in isolate_migratepages_range() local
1091 pfn = start_pfn; in isolate_migratepages_range()
1092 block_start_pfn = pageblock_start_pfn(pfn); in isolate_migratepages_range()
1095 block_end_pfn = pageblock_end_pfn(pfn); in isolate_migratepages_range()
1097 for (; pfn < end_pfn; pfn = block_end_pfn, in isolate_migratepages_range()
1107 pfn = isolate_migratepages_block(cc, pfn, block_end_pfn, in isolate_migratepages_range()
1110 if (!pfn) in isolate_migratepages_range()
1117 return pfn; in isolate_migratepages_range()
1222 fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long nr_isolated) in fast_isolate_around() argument
1225 struct page *page = pfn_to_page(pfn); in fast_isolate_around()
1236 start_pfn = pageblock_start_pfn(pfn); in fast_isolate_around()
1237 end_pfn = min(pageblock_end_pfn(pfn), zone_end_pfn(cc->zone)) - 1; in fast_isolate_around()
1240 if (start_pfn != pfn) { in fast_isolate_around()
1241 isolate_freepages_block(cc, &start_pfn, pfn, &cc->freepages, 1, false); in fast_isolate_around()
1247 start_pfn = pfn + nr_isolated; in fast_isolate_around()
1331 unsigned long pfn; in fast_isolate_freepages() local
1335 pfn = page_to_pfn(freepage); in fast_isolate_freepages()
1337 if (pfn >= highest) in fast_isolate_freepages()
1338 highest = pageblock_start_pfn(pfn); in fast_isolate_freepages()
1340 if (pfn >= low_pfn) { in fast_isolate_freepages()
1347 if (pfn >= min_pfn && pfn > high_pfn) { in fast_isolate_freepages()
1348 high_pfn = pfn; in fast_isolate_freepages()
1596 update_fast_start_pfn(struct compact_control *cc, unsigned long pfn) in update_fast_start_pfn() argument
1602 cc->fast_start_pfn = pfn; in update_fast_start_pfn()
1604 cc->fast_start_pfn = min(cc->fast_start_pfn, pfn); in update_fast_start_pfn()
1629 unsigned long pfn = cc->migrate_pfn; in fast_find_migrateblock() local
1635 return pfn; in fast_find_migrateblock()
1642 if (pfn != cc->zone->zone_start_pfn && pfn != pageblock_start_pfn(pfn)) in fast_find_migrateblock()
1643 return pfn; in fast_find_migrateblock()
1651 return pfn; in fast_find_migrateblock()
1660 return pfn; in fast_find_migrateblock()
1674 order >= PAGE_ALLOC_COSTLY_ORDER && pfn == cc->migrate_pfn && nr_scanned < limit; in fast_find_migrateblock()
1709 pfn = pageblock_start_pfn(free_pfn); in fast_find_migrateblock()
1730 if (pfn == cc->migrate_pfn) in fast_find_migrateblock()
1731 pfn = reinit_migrate_pfn(cc); in fast_find_migrateblock()
1733 return pfn; in fast_find_migrateblock()