From: Bob Liu Date: Tue, 26 Oct 2010 21:22:10 +0000 (-0700) Subject: mm: do_migrate_range: exit loop if not_managed is true X-Git-Tag: firefly_0821_release~7613^2~3628^2~102 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=809c444977adb7313e0612e9e3af4b73ba3f5746;p=firefly-linux-kernel-4.4.55.git mm: do_migrate_range: exit loop if not_managed is true If not_managed is true all pages will be putback to lru, so break the loop earlier to skip other pages isolate. Signed-off-by: Bob Liu Acked-by: KAMEZAWA Hiroyuki Acked-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index bb63b36c4413..e4af144ee409 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -696,15 +696,17 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) page_is_file_cache(page)); } else { - /* Becasue we don't have big zone->lock. we should - check this again here. */ - if (page_count(page)) - not_managed++; #ifdef CONFIG_DEBUG_VM printk(KERN_ALERT "removing pfn %lx from LRU failed\n", pfn); dump_page(page); #endif + /* Becasue we don't have big zone->lock. we should + check this again here. */ + if (page_count(page)) { + not_managed++; + break; + } } } ret = -EBUSY;