From 24f4bfcd6210a32fe844e6538dbdceb5f6cfcd8c Mon Sep 17 00:00:00 2001 From: Minchan Kim Date: Tue, 24 May 2011 17:12:31 -0700 Subject: [PATCH] --- yaml --- r: 250918 b: refs/heads/master c: 821ed6bbed3cf41c4050a431eeb822b33868d36a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/swap.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0521970744ac..c55779f41483 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2cbea1d3ab11946885d37a2461072ee4d687cb4e +refs/heads/master: 821ed6bbed3cf41c4050a431eeb822b33868d36a diff --git a/trunk/mm/swap.c b/trunk/mm/swap.c index 5602f1a1b1e7..2f365d1a4bb2 100644 --- a/trunk/mm/swap.c +++ b/trunk/mm/swap.c @@ -476,6 +476,13 @@ static void drain_cpu_pagevecs(int cpu) */ void deactivate_page(struct page *page) { + /* + * In a workload with many unevictable page such as mprotect, unevictable + * page deactivation for accelerating reclaim is pointless. + */ + if (PageUnevictable(page)) + return; + if (likely(get_page_unless_zero(page))) { struct pagevec *pvec = &get_cpu_var(lru_deactivate_pvecs);