On Thu, Feb 14, 2019 at 01:17:57PM -0800, Matthew Wilcox wrote: > On Thu, Feb 14, 2019 at 04:30:04PM +0300, Kirill A. Shutemov wrote: > > - migrate_page_move_mapping() has to be converted too. > > I think that's as simple as: > > +++ b/mm/migrate.c > @@ -465,7 +465,7 @@ int migrate_page_move_mapping(struct address_space *mapping, > > for (i = 1; i < HPAGE_PMD_NR; i++) { > xas_next(&xas); > - xas_store(&xas, newpage + i); > + xas_store(&xas, newpage); > } > } > > > or do you see something else I missed? Looks right to me. BTW, maybe some add syntax sugar from XArray side? Replace the loop and xas_store() before it with: xas_fill(&xas, newpage, 1UL << compound_order(newpage)); or something similar? -- Kirill A. Shutemov