mm: migrate: remove unused mode argument
[linux-2.6-microblaze.git] / mm / migrate.c
index e9594bc..8992741 100644 (file)
@@ -246,8 +246,6 @@ static bool remove_migration_pte(struct page *page, struct vm_area_struct *vma,
                        if (is_device_private_page(new)) {
                                entry = make_device_private_entry(new, pte_write(pte));
                                pte = swp_entry_to_pte(entry);
-                       } else if (is_device_public_page(new)) {
-                               pte = pte_mkdevmap(pte);
                        }
                }
 
@@ -381,7 +379,6 @@ static int expected_page_refs(struct address_space *mapping, struct page *page)
         * ZONE_DEVICE pages.
         */
        expected_count += is_device_private_page(page);
-       expected_count += is_device_public_page(page);
        if (mapping)
                expected_count += hpage_nr_pages(page) + page_has_private(page);
 
@@ -397,8 +394,7 @@ static int expected_page_refs(struct address_space *mapping, struct page *page)
  * 3 for pages with a mapping and PagePrivate/PagePrivate2 set.
  */
 int migrate_page_move_mapping(struct address_space *mapping,
-               struct page *newpage, struct page *page, enum migrate_mode mode,
-               int extra_count)
+               struct page *newpage, struct page *page, int extra_count)
 {
        XA_STATE(xas, &mapping->i_pages, page_index(page));
        struct zone *oldzone, *newzone;
@@ -684,7 +680,7 @@ int migrate_page(struct address_space *mapping,
 
        BUG_ON(PageWriteback(page));    /* Writeback must be complete */
 
-       rc = migrate_page_move_mapping(mapping, newpage, page, mode, 0);
+       rc = migrate_page_move_mapping(mapping, newpage, page, 0);
 
        if (rc != MIGRATEPAGE_SUCCESS)
                return rc;
@@ -783,7 +779,7 @@ recheck_buffers:
                }
        }
 
-       rc = migrate_page_move_mapping(mapping, newpage, page, mode, 0);
+       rc = migrate_page_move_mapping(mapping, newpage, page, 0);
        if (rc != MIGRATEPAGE_SUCCESS)
                goto unlock_buffers;
 
@@ -994,10 +990,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
                if (!PageMappingFlags(page))
                        page->mapping = NULL;
 
-               if (unlikely(is_zone_device_page(newpage))) {
-                       if (is_device_public_page(newpage))
-                               flush_dcache_page(newpage);
-               } else
+               if (likely(!is_zone_device_page(newpage)))
                        flush_dcache_page(newpage);
 
        }
@@ -2265,7 +2258,7 @@ again:
                                pfn = 0;
                                goto next;
                        }
-                       page = _vm_normal_page(migrate->vma, addr, pte, true);
+                       page = vm_normal_page(migrate->vma, addr, pte);
                        mpfn = migrate_pfn(pfn) | MIGRATE_PFN_MIGRATE;
                        mpfn |= pte_write(pte) ? MIGRATE_PFN_WRITE : 0;
                }
@@ -2406,16 +2399,7 @@ static bool migrate_vma_check_page(struct page *page)
                 * FIXME proper solution is to rework migration_entry_wait() so
                 * it does not need to take a reference on page.
                 */
-               if (is_device_private_page(page))
-                       return true;
-
-               /*
-                * Only allow device public page to be migrated and account for
-                * the extra reference count imply by ZONE_DEVICE pages.
-                */
-               if (!is_device_public_page(page))
-                       return false;
-               extra++;
+               return is_device_private_page(page);
        }
 
        /* For file back page */
@@ -2665,11 +2649,6 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate,
 
                        swp_entry = make_device_private_entry(page, vma->vm_flags & VM_WRITE);
                        entry = swp_entry_to_pte(swp_entry);
-               } else if (is_device_public_page(page)) {
-                       entry = pte_mkold(mk_pte(page, READ_ONCE(vma->vm_page_prot)));
-                       if (vma->vm_flags & VM_WRITE)
-                               entry = pte_mkwrite(pte_mkdirty(entry));
-                       entry = pte_mkdevmap(entry);
                }
        } else {
                entry = mk_pte(page, vma->vm_page_prot);
@@ -2789,7 +2768,7 @@ static void migrate_vma_pages(struct migrate_vma *migrate)
                                        migrate->src[i] &= ~MIGRATE_PFN_MIGRATE;
                                        continue;
                                }
-                       } else if (!is_device_public_page(newpage)) {
+                       } else {
                                /*
                                 * Other types of ZONE_DEVICE page are not
                                 * supported.