mm/zswap: avoid unnecessary page scanning

Add SetPageReclaim() before __swap_writepage() so that page can be moved
to the tail of the inactive list, which can avoid unnecessary page
scanning as this page was reclaimed by swap subsystem before.

Signed-off-by: Weijie Yang <weijie.yang@samsung.com>
Reviewed-by: Bob Liu <bob.liu@oracle.com>
Reviewed-by: Minchan Kim <minchan@kernel.org>
Acked-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Weijie Yang 2013-11-12 15:07:52 -08:00 committed by Linus Torvalds
parent c4a391b53a
commit b349acc76b

View File

@ -556,6 +556,9 @@ static int zswap_writeback_entry(struct zbud_pool *pool, unsigned long handle)
SetPageUptodate(page); SetPageUptodate(page);
} }
/* move it to the tail of the inactive list after end_writeback */
SetPageReclaim(page);
/* start writeback */ /* start writeback */
__swap_writepage(page, &wbc, end_swap_bio_write); __swap_writepage(page, &wbc, end_swap_bio_write);
page_cache_release(page); page_cache_release(page);