Lines Matching full:folios
116 * TODO: these pages will not be folios in the future. All in isolate_movable_ops_page()
196 * TODO: these pages will not be folios in the future. All in putback_movable_ops_page()
229 * TODO: migration core will treat both pages as folios and lock them before
232 * folios in the future, so that must be reworked.
559 * 1 for anonymous folios without a mapping
560 * 2 for folios with a mapping
561 * 3 for folios with a mapping and the private flag set.
653 * Note that anonymous folios are accounted for in __folio_migrate_mapping()
874 * folios that do not have private data.
876 * Folios are locked upon entry and exit.
992 * buffer_migrate_folio() - Migration function for folios with buffers.
1014 * buffer_migrate_folio_norefs() - Migration function for folios with buffers.
1067 * The src and dst folios are locked and the src folios was unmapped from
1091 * Most folios have a mapping and most filesystems in move_to_new_folio()
1092 * provide a migrate_folio callback. Anonymous folios in move_to_new_folio()
1104 * For pagecache folios, src->mapping must be cleared before src in move_to_new_folio()
1105 * is freed. Anonymous folios must stay anonymous until freed. in move_to_new_folio()
1591 int nr_succeeded; /* Normal and large folios migrated successfully, in
1593 int nr_failed_pages; /* Normal and large folios failed to be migrated, in
1594 units of base pages. Untried folios aren't counted */
1602 * Returns the number of hugetlb folios that were not migrated, or an error code
1603 * after NR_MAX_MIGRATE_PAGES_RETRY attempts or if no hugetlb folios are movable
1604 * any more because the list has become empty or no retryable hugetlb folios
1662 * other folios, just exit. in migrate_hugetlbs()
1687 * nr_failed is number of hugetlb folios failed to be migrated. After in migrate_hugetlbs()
1689 * folios as failed. in migrate_hugetlbs()
1773 * migrate_pages_batch() first unmaps folios in the from list as many as
1774 * possible, then move the unmapped folios.
1834 * page cache folios. They exist, in contrast to in migrate_pages_batch()
1835 * non-existent order-1 anonymous folios, and do not in migrate_pages_batch()
1854 * to normal folios. in migrate_pages_batch()
1856 * Split folios are put in split_folios, and in migrate_pages_batch()
1889 * other folios, move unmapped folios, then exit. in migrate_pages_batch()
1956 /* Flush TLBs for all unmapped folios */ in migrate_pages_batch()
1965 /* Move the unmapped folios */ in migrate_pages_batch()
1977 /* Cleanup remaining folios */ in migrate_pages_batch()
1991 LIST_HEAD(folios); in migrate_pages_sync()
1997 reason, &folios, split_folios, &astats, in migrate_pages_sync()
2006 list_splice_tail(&folios, ret_folios); in migrate_pages_sync()
2016 * Fall back to migrate all failed folios one by one synchronously. All in migrate_pages_sync()
2017 * failed folios except split THPs will be retried, so their failure in migrate_pages_sync()
2020 list_splice_tail_init(&folios, from); in migrate_pages_sync()
2022 list_move(from->next, &folios); in migrate_pages_sync()
2023 rc = migrate_pages_batch(&folios, get_new_folio, put_new_folio, in migrate_pages_sync()
2026 list_splice_tail_init(&folios, ret_folios); in migrate_pages_sync()
2036 * migrate_pages - migrate the folios specified in a list, to the free folios
2039 * @from: The list of folios to be migrated.
2040 * @get_new_folio: The function used to allocate free folios to be used
2042 * @put_new_folio: The function used to free target folios if migration
2048 * @ret_succeeded: Set to the number of folios migrated successfully if
2051 * The function returns after NR_MAX_MIGRATE_PAGES_RETRY attempts or if no folios
2052 * are movable any more because the list has become empty or no retryable folios
2059 * split folios of the large folio are migrated successfully.
2068 LIST_HEAD(folios); in migrate_pages()
2085 /* Retried hugetlb folios will be kept in list */ in migrate_pages()
2096 list_cut_before(&folios, from, &folio2->lru); in migrate_pages()
2098 list_splice_init(from, &folios); in migrate_pages()
2100 rc = migrate_pages_batch(&folios, get_new_folio, put_new_folio, in migrate_pages()
2105 rc = migrate_pages_sync(&folios, get_new_folio, put_new_folio, in migrate_pages()
2108 list_splice_tail_init(&folios, &ret_folios); in migrate_pages()
2116 * Failure isn't counted since all split folios of a large folio in migrate_pages()
2136 * Return 0 in case all split folios of fail-to-migrate large folios in migrate_pages()
2654 * Do not migrate file folios that are mapped in multiple in migrate_misplaced_folio_prepare()
2665 * Do not migrate dirty folios as not all filesystems can move in migrate_misplaced_folio_prepare()
2666 * dirty folios in MIGRATE_ASYNC mode which is a waste of in migrate_misplaced_folio_prepare()