mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
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 <lliubbo@gmail.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Wu Fengguang <fengguang.wu@intel.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f6a3607e5f
commit
809c444977
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user