aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWeijie Yang <[email protected]>2013-11-12 15:07:52 -0800
committerLinus Torvalds <[email protected]>2013-11-13 12:09:08 +0900
commitb349acc76b7f65400b85abd09a5379ddd6fa5a97 (patch)
treee21180e37fd7a9af677f4dafdeec0754a9e7bf5b
parentc4a391b53a72d2df4ee97f96f78c1d5971b47489 (diff)
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 <[email protected]> Reviewed-by: Bob Liu <[email protected]> Reviewed-by: Minchan Kim <[email protected]> Acked-by: Seth Jennings <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--mm/zswap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/zswap.c b/mm/zswap.c
index d93510c6aa2d..001474c1a594 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -556,6 +556,9 @@ static int zswap_writeback_entry(struct zbud_pool *pool, unsigned long handle)
SetPageUptodate(page);
}
+ /* move it to the tail of the inactive list after end_writeback */
+ SetPageReclaim(page);
+
/* start writeback */
__swap_writepage(page, &wbc, end_swap_bio_write);
page_cache_release(page);