> Alexander Viro wrote:
>
>>
>> On Tue, 29 Jan 2002, Hans Reiser wrote:
>>
>>> This fails to recover an object (e.g. dcache entry) which is used once,
>>> and then spends a year in cache on the same page as an object which is
>>> hot all the time. This means that the hot set of objects becomes
>>> diffused over an order of magnitude more pages than if garbage
>>> collection squeezes them all together. That makes for very poor caching.
>>>
>>
>> Any GC that is going to move active dentries around is out of question.
>> It would need a locking of such strength that you would be the first
>> to cry bloody murder - about 5 seconds after you look at the scalability
>> benchmarks.
>>
>>
>
> I don't mean to suggest that the dentry cache locking is an easy problem to solve, but the problem discussed is a real one, and it is sufficient to illustrate that the unified cache is fundamentally flawed as an algorithm compared to using subcache plugins.
It isn't just dentries. If a subcache object is in use, it can't be moved
to a warmer page without invalidating all existing pointers to it.
If it isn't in use, it can be migrated when the VM asks for the page to
be flushed.
-chris
-
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/