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. Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> --- mm/migrate_device.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/migrate_device.c b/mm/migrate_device.c index 5052093d0262..a0452c1d69dd 100644 --- 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; } -- 2.23.0