Reviewed-by: Alistair Popple <apop...@nvidia.com>

On Thursday, 10 February 2022 6:28:12 PM AEDT Christoph Hellwig wrote:
> Make the flow a little more clear and prepare for adding a new
> ZONE_DEVICE memory type.
> 
> Signed-off-by: Christoph Hellwig <h...@lst.de>
> ---
>  mm/migrate.c | 31 +++++++++++++++----------------
>  1 file changed, 15 insertions(+), 16 deletions(-)
> 
> diff --git a/mm/migrate.c b/mm/migrate.c
> index 8e0370a73f8a43..30ecd7223656c1 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -2670,26 +2670,25 @@ static void migrate_vma_insert_page(struct 
> migrate_vma *migrate,
>        */
>       __SetPageUptodate(page);
>  
> -     if (is_zone_device_page(page)) {
> -             if (is_device_private_page(page)) {
> -                     swp_entry_t swp_entry;
> +     if (is_device_private_page(page)) {
> +             swp_entry_t swp_entry;
>  
> -                     if (vma->vm_flags & VM_WRITE)
> -                             swp_entry = make_writable_device_private_entry(
> -                                                     page_to_pfn(page));
> -                     else
> -                             swp_entry = make_readable_device_private_entry(
> -                                                     page_to_pfn(page));
> -                     entry = swp_entry_to_pte(swp_entry);
> -             } else {
> -                     /*
> -                      * For now we only support migrating to un-addressable
> -                      * device memory.
> -                      */
> +             if (vma->vm_flags & VM_WRITE)
> +                     swp_entry = make_writable_device_private_entry(
> +                                             page_to_pfn(page));
> +             else
> +                     swp_entry = make_readable_device_private_entry(
> +                                             page_to_pfn(page));
> +             entry = swp_entry_to_pte(swp_entry);
> +     } else {
> +             /*
> +              * For now we only support migrating to un-addressable device
> +              * memory.
> +              */
> +             if (is_zone_device_page(page)) {
>                       pr_warn_once("Unsupported ZONE_DEVICE page type.\n");
>                       goto abort;
>               }
> -     } else {
>               entry = mk_pte(page, vma->vm_page_prot);
>               if (vma->vm_flags & VM_WRITE)
>                       entry = pte_mkwrite(pte_mkdirty(entry));
> 





Reply via email to