aboutsummaryrefslogtreecommitdiffstats
path: root/mm/swapfile.c
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2006-06-23 05:03:08 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-23 10:42:46 -0400
commit3c5a87f476bed45616e7e543dcaea4440c77bf93 (patch)
tree0ff4c86ef594f7bfad9937095b69aab5e70b4174 /mm/swapfile.c
parent4776874ff096cd410382c0eca5d75f69c9dfa58f (diff)
[PATCH] migration: remove unnecessary PageSwapCache checks
Remove two unnecessary PageSwapCache checks. The page refcount is raised and therefore page migration cannot occur in both functions. Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/swapfile.c')
-rw-r--r--mm/swapfile.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c
index e5fd5385f0cc..47a6812f5f8c 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -716,7 +716,6 @@ static int try_to_unuse(unsigned int type)
716 */ 716 */
717 swap_map = &si->swap_map[i]; 717 swap_map = &si->swap_map[i];
718 entry = swp_entry(type, i); 718 entry = swp_entry(type, i);
719again:
720 page = read_swap_cache_async(entry, NULL, 0); 719 page = read_swap_cache_async(entry, NULL, 0);
721 if (!page) { 720 if (!page) {
722 /* 721 /*
@@ -751,12 +750,6 @@ again:
751 wait_on_page_locked(page); 750 wait_on_page_locked(page);
752 wait_on_page_writeback(page); 751 wait_on_page_writeback(page);
753 lock_page(page); 752 lock_page(page);
754 if (!PageSwapCache(page)) {
755 /* Page migration has occured */
756 unlock_page(page);
757 page_cache_release(page);
758 goto again;
759 }
760 wait_on_page_writeback(page); 753 wait_on_page_writeback(page);
761 754
762 /* 755 /*