lkml.org 
[lkml]   [2001]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [CFT][PATCH] Re: Fwd: Re: memory usage - dentry_cache
Date
David writes:
> Alexander Viro writes:
> > OK, how about wider testing? Theory: prune_dcache() goes through the
> > list of immediately killable dentries and tries to free given amount.
> > It has a "one warning" policy - it kills dentry if it sees it twice without
> > lookup finding that dentry in the interval. Unfortunately, as implemented
> > it stops when it had freed _or_ warned given amount. As the result, memory
> > pressure on dcache is less than expected.
>
> The reason the code is how it is right now is there used to be a bug
> where that goto spot would --count but not check against zero, making
> count possibly go negative and then you'd be there for a _long_ time
> :-)

Actually, this is the case if we call shrink_dcache_memory() with priority
zero. It calls prune_dcache(count = 0), which gets into the situation you
describe (i.e. negative count). I first thought this was a bug, but then
realized for priority 0 (i.e. highest priority) we want to check the whole
dentry_unused list for unreferenced dentries.

Cheers, Andreas
--
Andreas Dilger \ "If a man ate a pound of pasta and a pound of antipasto,
\ would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/ -- Dogbert
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:25    [W:0.214 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site