Re: [PATCH] Caches that shrink automatically

From: Hans Reiser (
Date: Sun Aug 04 2002 - 13:29:24 EST

Andreas Gruenbacher wrote:

>On Sunday 04 August 2002 13:30, Hans Reiser wrote:
>>How do you ensure that caches have their (internal) aging hands pushed
>>at a speed that is proportional to their memory usage, or is your design
>>susceptible to all the usual complaints the unified memory manager crowd
>>has about separate caches?
>That's a policy/optimization issue; it's not even desirable to shrink the
>caches with priorities proportional to their size---they would all tend to
>become equally large.
That is not what I said, I said move the aging hand at a speed
proportional to size, what affect the aging has depends on the usage of
the objects in the cache.

>The patch shrinks all the caches equally often, with the same priorities.
This is wrong, because frequently used objects should not be shrunk out
of their caches.

>caches can then decide themselves how they will react, depending on their
>cache size and entry size, replacement strategy, taking care of page entry
>clustering or not, etc.
How can they decide this without a pressure signal from the master
memory manager that is proportional to their size? Or is the idea that
they figure out their own size? I suppose that is equivalent....

>The icache, dcache, and dqcache are shrunk using the same strategy (except the
>priority is a constant for some of the caches, which could be coded in the
>shrink function as well).
What does priority

>This scheme has worked out pretty well so far,
 Our cache management has deep algorithm flaws which result in things
like one active dcache entry keeping an entire page of unused dcache
entries from expiring from the cache. Did you see Joshua MacDonald's
post on that topic?

>For Extended Attributes we are currently using a very simple cache with LRU
>entry replacement, and small entries. The cache doesn't grow very big,
You don't support eas that are larger than a page? Is it LRU on each
ea, or is it LRU on the page containing the ea?

> Andreas Gruenbacher SuSE Linux AG
> Deutschherrnstr. 15-19
> D-90429 Nuernberg, Germany


- 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 : Wed Aug 07 2002 - 22:00:25 EST