mm: vmscan: Move pages that fail swapout to LRU active list

Move pages that fail swapout to the LRU active list to reduce
pressure on swap device when swapping out is already failing.
This helps when using a pseudo swap device such as zram which
starts failing when memory is low.

Change-Id: Ib136cd0a744378aa93d837a24b9143ee818c80b3
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
This commit is contained in:
Olav Haugan 2013-11-04 10:46:16 -08:00
parent f34a2d7836
commit 4c2fde4241

View file

@ -499,6 +499,8 @@ static pageout_t pageout(struct page *page, struct address_space *mapping,
if (!PageWriteback(page)) { if (!PageWriteback(page)) {
/* synchronous write or broken a_ops? */ /* synchronous write or broken a_ops? */
ClearPageReclaim(page); ClearPageReclaim(page);
if (PageError(page))
return PAGE_ACTIVATE;
} }
trace_mm_vmscan_writepage(page, trace_reclaim_flags(page)); trace_mm_vmscan_writepage(page, trace_reclaim_flags(page));
inc_zone_page_state(page, NR_VMSCAN_WRITE); inc_zone_page_state(page, NR_VMSCAN_WRITE);