X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=mm%2Fmigrate.c;h=06d0877a66efa74a3d599b4ea50f0c5100dd7a1f;hb=70e24bdf6d2fead14631e72a07fba012400c521e;hp=07f22d4a431f5ce63303632749453e9459ece1ee;hpb=df3d80f5a5c74168be42788364d13cf6c83c7b9c;p=powerpc.git diff --git a/mm/migrate.c b/mm/migrate.c index 07f22d4a43..06d0877a66 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -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); @@ -986,7 +986,7 @@ asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages, goto out; err = -ENODEV; - if (!node_online(node)) + if (!node_state(node, N_HIGH_MEMORY)) goto out; err = -EACCES;