Re: [PATCH] mm/migrate: skip unsupported ZONE_DEVICE page in migrate_vma_collect_pmd()

From: Andrew Morton
Date: Tue May 31 2022 - 14:05:25 EST


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;
> }