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
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/