Re: dentry_cache using up all my zone normal memory -- also seen on 2.6.14-rc2

Dipankar Sarma
2005-10-04T19:49:54Z

On Thu, Sep 22, 2005 at 09:16:58AM -0600, Christopher Friesen wrote:
> Al Viro wrote:
>
> >Umm... How many RCU callbacks are pending?
>
> I added an atomic counter that is incremented just before call_rcu() in
> d_free(), and decremented just after kmem_cache_free() in d_callback().
>
> According to this we had 4127306 pending rcu callbacks. A few seconds
> later it was down to 0.
>
>
> /proc/sys/fs/dentry-state:
> 1611 838 45 0 0 0
>

Hmm.. This clearly indicates that there are very few allocated dentries
and they are just not returned to slab by RCU.

Since then, I have done some testing myself, but I can't reproduce
this problem in two of my systems - x86 and x86_64. I ran rename14
in a loop too, but after exhausting a lot of free memory, dcache
does get shrunk and I don't see dentries stuck in RCU queues at all.
I tried UP kernel too.

So, there must be something else in your system that I
am missing in my setup. Could you please mail me your .config ?

Thanks
Dipankar