Re: VM Requirement Document - v0.0

From: Daniel Phillips (
Date: Tue Jul 03 2001 - 13:29:27 EST

On Monday 02 July 2001 20:42, Rik van Riel wrote:
> On Thu, 28 Jun 2001, Marco Colombo wrote:
> > I'm not sure that, in general, recent pages with only one access are
> > still better eviction candidates compared to 8 hours old pages. Here
> > we need either another way to detect one-shot activity (like the one
> > performed by updatedb),
> Fully agreed, but there is one problem with this idea.
> Suppose you have a maximum of 20% of your RAM for these
> "one-shot" things, now how are you going to be able to
> page in an application with a working set of, say, 25%
> the size of RAM ?

Easy. What's the definition of working set? Those pages that are frequently
referenced. So as the application starts up some of its pages will get
promoted from used-once to used-often. (On the other hand, the target
behavior here conflicts with the goal of grouping together several
temporally-related accesses to the same page together as one access, so
there's a subtle distinction to be made here, see below.)

The point here is that there are such things as run-once program pages, just
as there are use-once file pages. Both should get low priority and be
evicted early, regardless of the fact they were just loaded.

> If you don't have any special measures, the pages from
> this "new" application will always be treated as one-shot
> pages and the process will never be able to be cached in
> memory completely...

The self-balancing way of doing this is to promote pages from the old end of
the used-once list to the used-often (active) list at a rate corresponding to
the fault-in rate so we get more aggressive promotion of referenced-often
pages during program loading, and conversely, aggressive demotion of
referenced-once pages.


-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Jul 07 2001 - 21:00:12 EST