Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 809c4449 authored by Bob Liu's avatar Bob Liu Committed by Linus Torvalds
Browse files

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: default avatarBob Liu <lliubbo@gmail.com>
Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent f6a3607e
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -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;