[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>
This commit is contained in:
parent
4776874ff0
commit
3c5a87f476
|
@ -1081,14 +1081,6 @@ repeat:
|
||||||
page_cache_release(swappage);
|
page_cache_release(swappage);
|
||||||
goto repeat;
|
goto repeat;
|
||||||
}
|
}
|
||||||
if (!PageSwapCache(swappage)) {
|
|
||||||
/* Page migration has occured */
|
|
||||||
shmem_swp_unmap(entry);
|
|
||||||
spin_unlock(&info->lock);
|
|
||||||
unlock_page(swappage);
|
|
||||||
page_cache_release(swappage);
|
|
||||||
goto repeat;
|
|
||||||
}
|
|
||||||
if (PageWriteback(swappage)) {
|
if (PageWriteback(swappage)) {
|
||||||
shmem_swp_unmap(entry);
|
shmem_swp_unmap(entry);
|
||||||
spin_unlock(&info->lock);
|
spin_unlock(&info->lock);
|
||||||
|
|
|
@ -716,7 +716,6 @@ static int try_to_unuse(unsigned int type)
|
||||||
*/
|
*/
|
||||||
swap_map = &si->swap_map[i];
|
swap_map = &si->swap_map[i];
|
||||||
entry = swp_entry(type, i);
|
entry = swp_entry(type, i);
|
||||||
again:
|
|
||||||
page = read_swap_cache_async(entry, NULL, 0);
|
page = read_swap_cache_async(entry, NULL, 0);
|
||||||
if (!page) {
|
if (!page) {
|
||||||
/*
|
/*
|
||||||
|
@ -751,12 +750,6 @@ again:
|
||||||
wait_on_page_locked(page);
|
wait_on_page_locked(page);
|
||||||
wait_on_page_writeback(page);
|
wait_on_page_writeback(page);
|
||||||
lock_page(page);
|
lock_page(page);
|
||||||
if (!PageSwapCache(page)) {
|
|
||||||
/* Page migration has occured */
|
|
||||||
unlock_page(page);
|
|
||||||
page_cache_release(page);
|
|
||||||
goto again;
|
|
||||||
}
|
|
||||||
wait_on_page_writeback(page);
|
wait_on_page_writeback(page);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue