]> Pileus Git - ~andy/linux/commitdiff
mm: numa: avoid unnecessary work on the failure path
authorMel Gorman <mgorman@suse.de>
Thu, 19 Dec 2013 01:08:39 +0000 (17:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2014 20:24:23 +0000 (12:24 -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 bf436c15f055ea7608fde0a0a65ca029295945f3..a88c12f2235de8768bdd29063d7175510f03b45f 100644 (file)
@@ -1715,7 +1715,8 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
                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;
        }
 
        /*
@@ -1765,6 +1766,7 @@ out_dropref:
        set_pmd_at(mm, haddr, pmd, entry);
        update_mmu_cache_pmd(vma, address, &entry);
 
+out_unlock:
        unlock_page(page);
        put_page(page);
        return 0;