From: Christoph Lameter Remove two unnecessary PageSwapCache checks. The page refcount is raised and therefore page migration cannot occur in both functions. Signed-off-by: Christoph Lameter Cc: Hugh Dickins Signed-off-by: Andrew Morton --- mm/shmem.c | 8 -------- mm/swapfile.c | 7 ------- 2 files changed, 15 deletions(-) diff -puN mm/shmem.c~migration-remove-unnecessary-pageswapcache-checks mm/shmem.c --- devel/mm/shmem.c~migration-remove-unnecessary-pageswapcache-checks 2006-04-28 16:08:08.000000000 -0700 +++ devel-akpm/mm/shmem.c 2006-04-28 16:08:08.000000000 -0700 @@ -1080,14 +1080,6 @@ repeat: page_cache_release(swappage); 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)) { shmem_swp_unmap(entry); spin_unlock(&info->lock); diff -puN mm/swapfile.c~migration-remove-unnecessary-pageswapcache-checks mm/swapfile.c --- devel/mm/swapfile.c~migration-remove-unnecessary-pageswapcache-checks 2006-04-28 16:08:08.000000000 -0700 +++ devel-akpm/mm/swapfile.c 2006-04-28 16:08:15.000000000 -0700 @@ -716,7 +716,6 @@ static int try_to_unuse(unsigned int typ */ swap_map = &si->swap_map[i]; entry = swp_entry(type, i); -again: page = read_swap_cache_async(entry, NULL, 0); if (!page) { /* @@ -751,12 +750,6 @@ again: wait_on_page_locked(page); wait_on_page_writeback(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); /* _