mm: do_migrate_range: reduce list_empty() check

Simple code for reducing list_empty(&source) check.

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:
Bob Liu
2010-10-26 14:22:10 -07:00
committed by Linus Torvalds
parent 809c444977
commit f3ab2636c5

View File

@@ -705,24 +705,21 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
check this again here. */ check this again here. */
if (page_count(page)) { if (page_count(page)) {
not_managed++; not_managed++;
ret = -EBUSY;
break; break;
} }
} }
} }
ret = -EBUSY; if (!list_empty(&source)) {
if (not_managed) { if (not_managed) {
if (!list_empty(&source)) putback_lru_pages(&source);
goto out;
}
/* this function returns # of failed pages */
ret = migrate_pages(&source, hotremove_migrate_alloc, 0, 1);
if (ret)
putback_lru_pages(&source); putback_lru_pages(&source);
goto out;
} }
ret = 0;
if (list_empty(&source))
goto out;
/* this function returns # of failed pages */
ret = migrate_pages(&source, hotremove_migrate_alloc, 0, 1);
if (ret)
putback_lru_pages(&source);
out: out:
return ret; return ret;
} }