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 | |
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>
-rw-r--r-- | mm/shmem.c | 8 | ||||
-rw-r--r-- | mm/swapfile.c | 7 |
2 files changed, 0 insertions, 15 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 10020d8b4073..84b5cf9b63c5 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -1081,14 +1081,6 @@ repeat: | |||
1081 | page_cache_release(swappage); | 1081 | page_cache_release(swappage); |
1082 | goto repeat; | 1082 | goto repeat; |
1083 | } | 1083 | } |
1084 | if (!PageSwapCache(swappage)) { | ||
1085 | /* Page migration has occured */ | ||
1086 | shmem_swp_unmap(entry); | ||
1087 | spin_unlock(&info->lock); | ||
1088 | unlock_page(swappage); | ||
1089 | page_cache_release(swappage); | ||
1090 | goto repeat; | ||
1091 | } | ||
1092 | if (PageWriteback(swappage)) { | 1084 | if (PageWriteback(swappage)) { |
1093 | shmem_swp_unmap(entry); | 1085 | shmem_swp_unmap(entry); |
1094 | spin_unlock(&info->lock); | 1086 | spin_unlock(&info->lock); |
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 | /* |