From 2489007e7d740ccbc3e0a202914e243ad5178787 Mon Sep 17 00:00:00 2001 From: codeworkx Date: Sat, 22 Sep 2012 09:48:20 +0200 Subject: merge opensource jb u5 Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2 --- mm/memory_hotplug.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'mm/memory_hotplug.c') diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index c46887b..348d7bf 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -746,8 +746,13 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) goto out; } /* this function returns # of failed pages */ +#ifndef CONFIG_DMA_CMA ret = migrate_pages(&source, hotremove_migrate_alloc, 0, true, true); +#else + ret = migrate_pages(&source, hotremove_migrate_alloc, 0, + true, true, 0); +#endif if (ret) putback_lru_pages(&source); } @@ -829,7 +834,11 @@ static int __ref offline_pages(unsigned long start_pfn, nr_pages = end_pfn - start_pfn; /* set above range as isolated */ +#ifndef CONFIG_DMA_CMA ret = start_isolate_page_range(start_pfn, end_pfn); +#else + ret = start_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); +#endif if (ret) goto out; @@ -894,7 +903,11 @@ repeat: We cannot do rollback at this point. */ offline_isolated_pages(start_pfn, end_pfn); /* reset pagetype flags and makes migrate type to be MOVABLE */ +#ifndef CONFIG_DMA_CMA undo_isolate_page_range(start_pfn, end_pfn); +#else + undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); +#endif /* removal success */ zone->present_pages -= offlined_pages; zone->zone_pgdat->node_present_pages -= offlined_pages; @@ -919,7 +932,11 @@ failed_removal: start_pfn, end_pfn); memory_notify(MEM_CANCEL_OFFLINE, &arg); /* pushback to free area */ +#ifndef CONFIG_DMA_CMA undo_isolate_page_range(start_pfn, end_pfn); +#else + undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); +#endif out: unlock_memory_hotplug(); -- cgit v1.1