mm: disable LRU pagevec during the migration temporarily
[sfrench/cifs-2.6.git] / mm / memory_hotplug.c
index 0cdbbfbc57572e4e12f71b660af93e29bb9022fe..729fba144c718b21be8131d1e468d0c874cb7bd4 100644 (file)
@@ -1611,6 +1611,7 @@ int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages)
         * in a way that pages from isolated pageblock are left on pcplists.
         */
        zone_pcp_disable(zone);
+       lru_cache_disable();
 
        /* set above range as isolated */
        ret = start_isolate_page_range(start_pfn, end_pfn,
@@ -1642,7 +1643,6 @@ int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages)
                        }
 
                        cond_resched();
-                       lru_add_drain_all();
 
                        ret = scan_movable_pages(pfn, end_pfn, &pfn);
                        if (!ret) {
@@ -1687,6 +1687,7 @@ int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages)
        zone->nr_isolate_pageblock -= nr_pages / pageblock_nr_pages;
        spin_unlock_irqrestore(&zone->lock, flags);
 
+       lru_cache_enable();
        zone_pcp_enable(zone);
 
        /* removal success */