From f3ab2636c5c1dd9ab0ff53a46d8354d5769ffdd4 Mon Sep 17 00:00:00 2001 From: Bob Liu Date: Tue, 26 Oct 2010 14:22:10 -0700 Subject: [PATCH] mm: do_migrate_range: reduce list_empty() check Simple code for reducing list_empty(&source) check. 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 --- mm/memory_hotplug.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index e4af144ee409..9260314a221e 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -705,24 +705,21 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) check this again here. */ if (page_count(page)) { not_managed++; + ret = -EBUSY; break; } } } - ret = -EBUSY; - if (not_managed) { - if (!list_empty(&source)) + if (!list_empty(&source)) { + if (not_managed) { + 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); - 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: return ret; } -- GitLab