mm: numa: avoid unnecessary work on the failure path
authorMel Gorman <mgorman@suse.de>
Tue, 7 Jan 2014 14:00:42 +0000 (14:00 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2014 20:25:13 +0000 (12:25 -0800)
commit eb4489f69f224356193364dc2762aa009738ca7f upstream.

If a PMD changes during a THP migration then migration aborts but the
failure path is doing more work than is necessary.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Alex Thorlton <athorlton@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/migrate.c

index 818c169..e33f0d1 100644 (file)
@@ -1726,7 +1726,8 @@ fail_putback:
                putback_lru_page(page);
                mod_zone_page_state(page_zone(page),
                         NR_ISOLATED_ANON + page_lru, -HPAGE_PMD_NR);
-               goto out_fail;
+
+               goto out_unlock;
        }
 
        /*
@@ -1800,6 +1801,7 @@ out_dropref:
        }
        spin_unlock(&mm->page_table_lock);
 
+out_unlock:
        unlock_page(page);
        put_page(page);
        return 0;