diff options
-rw-r--r-- | mm/huge_memory.c | 7 | ||||
-rw-r--r-- | mm/migrate.c | 3 |
2 files changed, 3 insertions, 7 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 3d2783e10596..7de1bf85f683 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c | |||
@@ -1377,13 +1377,6 @@ int do_huge_pmd_numa_page(struct mm_struct *mm, struct vm_area_struct *vma, | |||
1377 | } | 1377 | } |
1378 | 1378 | ||
1379 | /* | 1379 | /* |
1380 | * The page_table_lock above provides a memory barrier | ||
1381 | * with change_protection_range. | ||
1382 | */ | ||
1383 | if (mm_tlb_flush_pending(mm)) | ||
1384 | flush_tlb_range(vma, haddr, haddr + HPAGE_PMD_SIZE); | ||
1385 | |||
1386 | /* | ||
1387 | * Migrate the THP to the requested node, returns with page unlocked | 1380 | * Migrate the THP to the requested node, returns with page unlocked |
1388 | * and pmd_numa cleared. | 1381 | * and pmd_numa cleared. |
1389 | */ | 1382 | */ |
diff --git a/mm/migrate.c b/mm/migrate.c index cfb419085261..e9b710201335 100644 --- a/mm/migrate.c +++ b/mm/migrate.c | |||
@@ -1759,6 +1759,9 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm, | |||
1759 | goto out_fail; | 1759 | goto out_fail; |
1760 | } | 1760 | } |
1761 | 1761 | ||
1762 | if (mm_tlb_flush_pending(mm)) | ||
1763 | flush_tlb_range(vma, mmun_start, mmun_end); | ||
1764 | |||
1762 | /* Prepare a page as a migration target */ | 1765 | /* Prepare a page as a migration target */ |
1763 | __set_page_locked(new_page); | 1766 | __set_page_locked(new_page); |
1764 | SetPageSwapBacked(new_page); | 1767 | SetPageSwapBacked(new_page); |