> +void folio_migrate_copy(struct folio *newfolio, struct folio *folio) > { > + unsigned int i = folio_nr_pages(folio) - 1; > > + copy_highpage(folio_page(newfolio, i), folio_page(folio, i)); > + while (i-- > 0) { > + cond_resched()a > + /* folio_page() handles discontinuities in memmap */ > + copy_highpage(folio_page(newfolio, i), folio_page(folio, i)); > + } > + What is the advantage of copying backwards here to start with?