mm: do_migrate_range: reduce list_empty() check
authorBob Liu <[email protected]>
Tue, 26 Oct 2010 21:22:10 +0000 (14:22 -0700)
committerLinus Torvalds <[email protected]>
Tue, 26 Oct 2010 23:52:11 +0000 (16:52 -0700)
Simple code for reducing list_empty(&source) check.

Signed-off-by: Bob Liu <[email protected]>
Acked-by: KAMEZAWA Hiroyuki <[email protected]>
Acked-by: Wu Fengguang <[email protected]>
Cc: KOSAKI Motohiro <[email protected]>
Cc: Mel Gorman <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/memory_hotplug.c

index e4af144ee409e904c3f1bec9bf73913de339b7b9..9260314a221e0720d5cc3ecf5f00325c7ec3fba6 100644 (file)
@@ -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;
 }