aboutsummaryrefslogtreecommitdiffstats
path: root/mm/migrate.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index ed97c2c14fa8..89a0a1707f4c 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -184,9 +184,9 @@ void putback_movable_pages(struct list_head *l)
184 unlock_page(page); 184 unlock_page(page);
185 put_page(page); 185 put_page(page);
186 } else { 186 } else {
187 putback_lru_page(page);
188 dec_node_page_state(page, NR_ISOLATED_ANON + 187 dec_node_page_state(page, NR_ISOLATED_ANON +
189 page_is_file_cache(page)); 188 page_is_file_cache(page));
189 putback_lru_page(page);
190 } 190 }
191 } 191 }
192} 192}
@@ -194,7 +194,7 @@ void putback_movable_pages(struct list_head *l)
194/* 194/*
195 * Restore a potential migration pte to a working pte entry 195 * Restore a potential migration pte to a working pte entry
196 */ 196 */
197static int remove_migration_pte(struct page *page, struct vm_area_struct *vma, 197static bool remove_migration_pte(struct page *page, struct vm_area_struct *vma,
198 unsigned long addr, void *old) 198 unsigned long addr, void *old)
199{ 199{
200 struct page_vma_mapped_walk pvmw = { 200 struct page_vma_mapped_walk pvmw = {
@@ -253,7 +253,7 @@ static int remove_migration_pte(struct page *page, struct vm_area_struct *vma,
253 update_mmu_cache(vma, pvmw.address, pvmw.pte); 253 update_mmu_cache(vma, pvmw.address, pvmw.pte);
254 } 254 }
255 255
256 return SWAP_AGAIN; 256 return true;
257} 257}
258 258
259/* 259/*
@@ -1722,9 +1722,6 @@ static bool migrate_balanced_pgdat(struct pglist_data *pgdat,
1722{ 1722{
1723 int z; 1723 int z;
1724 1724
1725 if (!pgdat_reclaimable(pgdat))
1726 return false;
1727
1728 for (z = pgdat->nr_zones - 1; z >= 0; z--) { 1725 for (z = pgdat->nr_zones - 1; z >= 0; z--) {
1729 struct zone *zone = pgdat->node_zones + z; 1726 struct zone *zone = pgdat->node_zones + z;
1730 1727
@@ -1947,7 +1944,8 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
1947 1944
1948 /* Prepare a page as a migration target */ 1945 /* Prepare a page as a migration target */
1949 __SetPageLocked(new_page); 1946 __SetPageLocked(new_page);
1950 __SetPageSwapBacked(new_page); 1947 if (PageSwapBacked(page))
1948 __SetPageSwapBacked(new_page);
1951 1949
1952 /* anon mapping, we can simply copy page->mapping to the new page: */ 1950 /* anon mapping, we can simply copy page->mapping to the new page: */
1953 new_page->mapping = page->mapping; 1951 new_page->mapping = page->mapping;