User: Password:
Subscribe / Log in / New account

VM: Manual and Automatic page cache reclaim

From:  Martin Hicks <>
To:  Andrew Morton <>, Linux-MM <>
Subject:  [PATCH/RFC 0/4] VM: Manual and Automatic page cache reclaim
Date:  Wed, 27 Apr 2005 11:08:48 -0400
Cc:  Ray Bryant <>,
Archive-link:  Article, Thread


The following set of patches is response to the first round of comments
that were sent out in February

The consensus of this thread was that manual reclaim should happen
through a syscall and be per-node, and that automatic reclaim should
probably happen through mempolicy hints.

This set is against 2.6.12-rc2-mm2  (sorry for not being against -mm3.
It doesn't boot correctly on Altix)

The patches introduce two different ways to free up page cache from a
node: manually through a syscall and automatically through flag
modifiers to a mempolicy.

Currently if a job is started and there is page cache lying around on a
particular node then allocations will spill onto remote nodes and page
cache won't be reclaimed until the whole system is short on memory.
This can result in a signficiant performance hit for HPC applications
that planned on that memory being allocated locally.

Here's a little summary of the pages in the set:

1/4:  Merge LRU pages

This is the opposite of isolate_lru_pages().  It merges pages from
a list back onto the appropriate LRU lists.

2/4:  Local reclaim core

The reclaim code.  It extends shrink_list() so it can be used to scan
the active list as well.  The core of all of this is
reclaim_clean_pages().  It tries to remove a specified number of pages
from a zone's cache.  It does this without swapping or doing writebacks.
The goal here is to free easily freeable pages.

3/4:  toss_page_cache_node() syscall

This adds the manual reclaim method via a syscall.

4/4:  localreclaim flags for mempolicies

Adds a flags argument to set_mempolicy() and add a new mempolicy.


Martin Hicks   ||   Silicon Graphics Inc.   ||
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to  For more info on Linux MM,
see: .
Don't email: <a href=mailto:""> </a>

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds