lkml.org 
[lkml]   [2011]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 1/2] vmscan: promote shared file mapped pages
From
Date
Commit v2.6.33-5448-g6457474 (vmscan: detect mapped file pages used only once)
greatly decreases lifetime of single-used mapped file pages.
Unfortunately it also decreases life time of all shared mapped file pages.
Because after commit v2.6.28-6130-gbf3f3bc (mm: don't mark_page_accessed in fault path)
page-fault handler does not mark page active or even referenced.

Thus page_check_references() activates file page only if it was used twice while
it stays in inactive list, meanwhile it activates anon pages after first access.
Inactive list can be small enough, this way reclaimer can accidentally
throw away any widely used page if it wasn't used twice in short period.

After this patch page_check_references() also activate file mapped page at first
inactive list scan if this page is already used multiple times via several ptes.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
---
mm/vmscan.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 47403c9..3cd766d 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -724,7 +724,7 @@ static enum page_references page_check_references(struct page *page,
*/
SetPageReferenced(page);

- if (referenced_page)
+ if (referenced_page || referenced_ptes > 1)
return PAGEREF_ACTIVATE;

return PAGEREF_KEEP;


\
 
 \ /
  Last update: 2011-08-08 13:09    [from the cache]
©2003-2011 Jasper Spaans