diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-06-23 05:03:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-23 10:42:46 -0400 |
commit | 3c5a87f476bed45616e7e543dcaea4440c77bf93 (patch) | |
tree | 0ff4c86ef594f7bfad9937095b69aab5e70b4174 /mm/swapfile.c | |
parent | 4776874ff096cd410382c0eca5d75f69c9dfa58f (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.c | 7 |
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); |
719 | again: | ||
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 | /* |