mm: page_isolation: MIGRATE_CMA isolation functions added
This commit changes various functions that change pages and pageblocks migrate type between MIGRATE_ISOLATE and MIGRATE_MOVABLE in such a way as to allow to work with MIGRATE_CMA migrate type. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Tested-by: Rob Clark <rob.clark@linaro.org> Tested-by: Ohad Ben-Cohen <ohad@wizery.com> Tested-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> Tested-by: Robert Nelson <robertcnelson@gmail.com> Tested-by: Barry Song <Baohua.Song@csr.com>
This commit is contained in:

committed by
Marek Szyprowski

parent
47118af076
commit
0815f3d81d
@@ -891,7 +891,7 @@ static int __ref offline_pages(unsigned long start_pfn,
|
||||
nr_pages = end_pfn - start_pfn;
|
||||
|
||||
/* set above range as isolated */
|
||||
ret = start_isolate_page_range(start_pfn, end_pfn);
|
||||
ret = start_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
@@ -956,7 +956,7 @@ 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 */
|
||||
undo_isolate_page_range(start_pfn, end_pfn);
|
||||
undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE);
|
||||
/* removal success */
|
||||
zone->present_pages -= offlined_pages;
|
||||
zone->zone_pgdat->node_present_pages -= offlined_pages;
|
||||
@@ -981,7 +981,7 @@ failed_removal:
|
||||
start_pfn, end_pfn);
|
||||
memory_notify(MEM_CANCEL_OFFLINE, &arg);
|
||||
/* pushback to free area */
|
||||
undo_isolate_page_range(start_pfn, end_pfn);
|
||||
undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE);
|
||||
|
||||
out:
|
||||
unlock_memory_hotplug();
|
||||
|
Reference in New Issue
Block a user