On Wed, 10 Aug 2005, Marcelo Tosatti wrote: > First of all, this is very nice! The code is amazingly easy to read.
Thank you. > You change the rate of active list scanning, which I suppose won't > change the current reclaiming behaviour much (at least not on the > "stress system to death" tests which most folks use to test page > replacement policies). I'll do some STP benchmarking. > > But the fundamental metric for page replacement decision continues > to be recency alone. > > IMHO much deeper surgery is needed: actually use inter-reference > distance as the metric for page replacement decision. Actually, inter-reference distance is what triggers whether the active list gets scanned in addition to the inactive list. The inter-reference distance also determines on which list a page gets allocated. I agree the code probably needs tweaking in this respect, though. > As we talked, I've got an ARC variant working, but from what I gather > so far its not as simple as I've imagined. Direct replacement from the > active list seems to screw up most "stress system to death" workloads, > increasing major pagefaults. I'm not surprised! If a page is not frequently enough accessed to be on the active list, chances are it could still be accessed more frequently than many pages on the inactive list, and evicting the page is the wrong thing to do. I suspect that ARC and CAR/CART are more suited for databases than for general purpose OSes. The reason databases are probably different is that databases tend to have large indexes, which are accessed more frequently than most data. This may lead to a stricter "separation" between hot and cold pages. > Still lack a set of well analyzed pertinent VM tests... Agreed - I really am not sure how to properly test replacement algorithms. -- All Rights Reversed - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/