Merge branch 'config' into late-for-linus
[firefly-linux-kernel-4.4.55.git] / mm / page_alloc.c
index fd86c47de86fc7d58661f32f608f5d9bd40d99b3..bb90971182bd8c833e40f508e3c8b8677d6913c8 100644 (file)
@@ -5674,7 +5674,7 @@ static int __alloc_contig_migrate_range(struct compact_control *cc,
                                        unsigned long start, unsigned long end)
 {
        /* This function is based on compact_zone() from compaction.c. */
-
+       unsigned long nr_reclaimed;
        unsigned long pfn = start;
        unsigned int tries = 0;
        int ret = 0;
@@ -5701,7 +5701,9 @@ static int __alloc_contig_migrate_range(struct compact_control *cc,
                        break;
                }
 
-               reclaim_clean_pages_from_list(cc->zone, &cc->migratepages);
+               nr_reclaimed = reclaim_clean_pages_from_list(cc->zone,
+                                                       &cc->migratepages);
+               cc->nr_migratepages -= nr_reclaimed;
 
                ret = migrate_pages(&cc->migratepages,
                                    alloc_migrate_target,