On Tue, 31 May 2022 20:25:30 +0800 Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote: > For now we only support migrating to un-addressable device memory. Other > types of ZONE_DEVICE pages are not supported yet. So skip those pages in > MIGRATE_VMA_SELECT_SYSTEM case to save useless effort. > https://lkml.kernel.org/r/20220531155629.20057-4-alex.sierra@xxxxxxx just made similar-but-different changes here. Please review those. Normally I'm merge your fixlet ahead of the larger changes and redo Alex's patchset. Because Alex's larger patchset might never get mainlined, so your fixlet would then get lost. But in this case, your fixlet doesn't seem important enough to be churning things around in that way? > --- a/mm/migrate_device.c > +++ b/mm/migrate_device.c > @@ -157,6 +157,11 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp, > goto next; > } > page = vm_normal_page(migrate->vma, addr, pte); > + /* > + * Other types of ZONE_DEVICE page are not supported. > + */ > + if (page && is_zone_device_page(page)) > + goto next; > mpfn = migrate_pfn(pfn) | MIGRATE_PFN_MIGRATE; > mpfn |= pte_write(pte) ? MIGRATE_PFN_WRITE : 0; > }