> Oliver Xymoron wrote:
> >
> > On Tue, 29 Jan 2002, Andrew Morton wrote:
> >
> > > Andreas Dilger wrote:
> > > >
> > > > But if it is unused and not recently referenced, there is little benefit
> > > > in keeping it around, is there?
> > >
> > > In all of this, please remember that all caches are not of
> > > equal value-per-byte. A single page contains 32 dentries,
> > > and can thus save up to 32 disk seeks. It's potentially
> > > a *lot* more valuable than a (single-seek) pagecache page.
> >
> > Or it might equally well be 32 contiguous directory entries that you
> > scanned over to get to the file you wanted.
>
> The `scanned over' entries will be retained in the pagecache,
> not in the dentry cache.
For most values of 'scanned over', but not all. There are lots of ways of
looking for something that will prime the dcache..
> > If it's 32 hot items, as a
> > page it's going to be aged significantly less than one equally hot
> > pagecache page, so I don't think we need to worry about that too much.
>
> Sure they're LRU at present and we could use the referenced bit
> in their backing page in the future.
>
> But what we do *not* want to do is to reclaim memory "fairly" from
> all caches. The value of a cached page should be measured in terms
> of the number of seeks required to repopulate it. That's all.
..which may be zero in the above case if the dentries are all backed by
dirs in the page cache you mentioned. Or one in the case of dentries found
by visiting neighboring files. It's very hard to guess at what that number
is for any discardable VM object because it's entirely dependent on what
else is in cache and what order the data's accessed.
I'm sure that there is some merit to valuing some caches more highly than
other but there are obviously other issues to sort out before we can begin
weighing them against each other.
-- "Love the dolphins," she advised him. "Write by W.A.S.T.E.."- 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/