diff options
author | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 09:48:20 +0200 |
---|---|---|
committer | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 14:02:16 +0200 |
commit | 2489007e7d740ccbc3e0a202914e243ad5178787 (patch) | |
tree | b8e6380ea7b1da63474ad68a5dba997e01146043 /mm/memory_hotplug.c | |
parent | 5f67568eb31e3a813c7c52461dcf66ade15fc2e7 (diff) | |
download | kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.zip kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.gz kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.bz2 |
merge opensource jb u5
Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
Diffstat (limited to 'mm/memory_hotplug.c')
-rw-r--r-- | mm/memory_hotplug.c | 17 |
1 files changed, 17 insertions, 0 deletions
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(); |