diff --git a/mm/vmscan.c b/mm/vmscan.c index 30fd658bb2897076d4fec53a5b0435d095daaec6..b8a6fdc2131258db15321021375117cae27cec0d 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -651,7 +651,7 @@ static enum page_references page_check_references(struct page *page, } /* Reclaim if clean, defer dirty pages to writeback */ - if (referenced_page) + if (referenced_page && !PageSwapBacked(page)) return PAGEREF_RECLAIM_CLEAN; return PAGEREF_RECLAIM;