]> err.no Git - linux-2.6/blobdiff - mm/migrate.c
hugetlb: Move update_and_free_page
[linux-2.6] / mm / migrate.c
index 71c38b43c019f4c0250c8f82dde94e21501c1ab4..06d0877a66efa74a3d599b4ea50f0c5100dd7a1f 100644 (file)
@@ -171,6 +171,7 @@ static void remove_migration_pte(struct vm_area_struct *vma,
        pte = pte_mkold(mk_pte(new, vma->vm_page_prot));
        if (is_write_migration_entry(entry))
                pte = pte_mkwrite(pte);
+       flush_cache_page(vma, addr, pte_pfn(pte));
        set_pte_at(mm, addr, ptep, pte);
 
        if (PageAnon(new))
@@ -180,7 +181,6 @@ static void remove_migration_pte(struct vm_area_struct *vma,
 
        /* No need to invalidate - it was non-present before */
        update_mmu_cache(vma, addr, pte);
-       lazy_mmu_prot_update(pte);
 
 out:
        pte_unmap_unlock(ptep, ptl);