mm/zswap: avoid unnecessary page scanning
authorWeijie Yang <[email protected]>
Tue, 12 Nov 2013 23:07:52 +0000 (15:07 -0800)
committerLinus Torvalds <[email protected]>
Wed, 13 Nov 2013 03:09:08 +0000 (12:09 +0900)
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]>
mm/zswap.c

index d93510c6aa2da860d779570cbf0a4c7cee278ad5..001474c1a59468afe357bfd8bbd369ab9a54502d 100644 (file)
@@ -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);