[PATCH 3.8 089/166] mm: numa: avoid unnecessary work on the failure path

Kamal Mostafa
2014-01-15T21:51:43Z

From: Mel Gorman <mgorman@suse.de>

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: Kamal Mostafa <kamal@canonical.com>
---
mm/migrate.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mm/migrate.c b/mm/migrate.c
index 6344541..5a62622 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1736,7 +1736,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;
}

/*
@@ -1810,6 +1811,7 @@ out_dropref:
}
spin_unlock(&mm->page_table_lock);

+out_unlock:
unlock_page(page);
put_page(page);
return 0;
--
1.8.3.2