Commit 1c0f3462 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Move unreleasable pages onto the active list

With some workloads a large number of pages coming off the LRU are
pinned blockdev pagecache - things like ext2 group descriptors, pages
which have buffers in the per-cpu buffer LRUs, etc.

They keep churning around the inactive list, reducing the overall page
reclaim effectiveness.

So move these pages onto the active list.
parent 32b51ef2
...@@ -364,7 +364,7 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask, ...@@ -364,7 +364,7 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask,
*/ */
if (PagePrivate(page)) { if (PagePrivate(page)) {
if (!try_to_release_page(page, gfp_mask)) if (!try_to_release_page(page, gfp_mask))
goto keep_locked; goto activate_locked;
if (!mapping && page_count(page) == 1) if (!mapping && page_count(page) == 1)
goto free_it; goto free_it;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment