Lines Matching full:migration
3 * Memory Migration functionality - linux/mm/migrate.c
7 * Page migration was first developed in the context of the memory hotplug
8 * project. The main authors of the migration code are:
86 * compaction threads can race against page migration functions in isolate_movable_page()
90 * being (wrongly) re-isolated while it is under migration, in isolate_movable_page()
132 * from where they were once taken off for compaction/migration.
172 * Restore a potential migration pte to a working pte entry
192 /* PMD-mapped THP migration entry */ in remove_migration_pte()
207 * Recheck VMA as permissions can change since migration started in remove_migration_pte()
272 * Get rid of all migration entries and replace them by
289 * Something used the pte of a page under migration. We need to
290 * get to the page and wait until migration is finished.
547 * migration entries. We can still have PG_anon_exclusive set on an in folio_migrate_flags()
625 * Migration functions
648 * migrate_folio() - Simple folio migration.
689 * async migration. Release the taken locks in buffer_migrate_lock_buffers()
783 * buffer_migrate_folio() - Migration function for folios with buffers.
805 * buffer_migrate_folio_norefs() - Migration function for folios with buffers.
870 * migration. Writeout may mean we lose the lock and the in writeout()
872 * At this point we know that the migration attempt cannot in writeout()
887 * Default handling if a filesystem does not provide a migration function.
893 /* Only writeback folios in full synchronous migration */ in fallback_migrate_folio()
946 * for page migration. in move_to_new_folio()
957 * isolation step. In that case, we shouldn't try migration. in move_to_new_folio()
1035 * Only in the case of a full synchronous migration is it in __unmap_and_move()
1057 * of migration. File cache pages are no problem because of page_lock() in __unmap_and_move()
1058 * File Caches may use write_page() or lock_page() in migration, then, in __unmap_and_move()
1104 /* Establish migration ptes */ in __unmap_and_move()
1142 * If migration is successful, decrease refcount of dst, in __unmap_and_move()
1199 * If migration is successful, releases reference grabbed during in unmap_and_move()
1232 * Counterpart of unmap_and_move_page() for hugepage migration.
1235 * because there is no race between I/O and migration for hugepage.
1243 * hugepage migration fails without data corruption.
1245 * There is also no race when direct I/O is issued on the page under migration,
1246 * because then pte is replaced with migration swap entry and direct I/O code
1247 * will wait in the page fault for migration to complete.
1264 * This check is necessary because some callers of hugepage migration in unmap_and_move_huge_page()
1267 * kicking migration. in unmap_and_move_huge_page()
1364 * If migration was not successful and there's a freeing callback, use in unmap_and_move_huge_page()
1391 * supplied as the target for the page migration
1395 * as the target of the page migration.
1396 * @put_new_page: The function used to free target pages if migration
1399 * @mode: The migration mode that specifies the constraints for
1400 * page migration, if any.
1401 * @reason: The reason for page migration.
1449 * during migration. in migrate_pages()
1476 * THP migration might be unsupported or the in migrate_pages()
1486 /* THP migration is unsupported */ in migrate_pages()
1493 /* Hugetlb migration is unsupported */ in migrate_pages()
1520 * left in thp_split_pages list. Move them back to migration in migrate_pages()
1544 * removed from migration page list and not in migrate_pages()
1580 * Put the permanent failure page back to migration list, they in migrate_pages()
1631 * clear __GFP_RECLAIM to make the migration callback in alloc_migration_target()
1837 /* The page is successfully queued for migration */ in do_pages_move()
2073 * Returns true if this is a safe migration target node for misplaced NUMA
2152 * disappearing underneath us during migration. in numamigrate_isolate_page()