Re: [PATCH 1/2] vmscan: promote shared file mapped pages

From: Minchan Kim
Date: Mon Aug 08 2011 - 19:36:41 EST

On Mon, Aug 8, 2011 at 8:06 PM, Konstantin Khlebnikov
<khlebnikov@xxxxxxxxxx> wrote:
> 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@xxxxxxxxxx>

Looks good to me.
But the issue is that we prefer shared mapped file pages aggressively
by your patch.

Shared page already have bigger chance to promote than single page
during same time window as many processes can touch the page.

The your concern is when file LRU is too small or scanning
aggressively, shared mapping page could lose the chance to activate
but it is applied single page, too. And still, shared mapping pages
have a bigger chance to activate compared to single page. So, our
algorithm already reflect shared mapping preference a bit.

Fundamental problem is our eviction algorithm consider only recency,
not frequency. It's very long time problem and it's not easy to fix it

Anyway, it's a not subject it's right or not but it's policy thing and
I support yours.

Acked-by: Minchan Kim <>

Kind regards,
Minchan Kim
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at