x86: add tizen_qemu_x86_defconfig & tizen_qemu_x86_64_defconfig
[platform/kernel/linux-rpi.git] / mm / migrate.c
index 1852d78..7da052c 100644 (file)
@@ -948,9 +948,12 @@ static int move_to_new_page(struct page *newpage, struct page *page,
                if (!PageMappingFlags(page))
                        page->mapping = NULL;
 
-               if (likely(!is_zone_device_page(newpage)))
-                       flush_dcache_page(newpage);
+               if (likely(!is_zone_device_page(newpage))) {
+                       int i, nr = compound_nr(newpage);
 
+                       for (i = 0; i < nr; i++)
+                               flush_dcache_page(newpage + i);
+               }
        }
 out:
        return rc;
@@ -2419,13 +2422,14 @@ next:
                migrate->dst[migrate->npages] = 0;
                migrate->src[migrate->npages++] = mpfn;
        }
-       arch_leave_lazy_mmu_mode();
-       pte_unmap_unlock(ptep - 1, ptl);
 
        /* Only flush the TLB if we actually modified any entries */
        if (unmapped)
                flush_tlb_range(walk->vma, start, end);
 
+       arch_leave_lazy_mmu_mode();
+       pte_unmap_unlock(ptep - 1, ptl);
+
        return 0;
 }