On Thu, May 26, 2011 at 03:02:42PM -0400, Josef Bacik wrote:
> +     /*
> +      * If this dentry needs lookup, don't set the referenced flag so that it
> +      * is more likely to be cleaned up by the dcache shrinker in case of
> +      * memory pressure.
> +      */
> +     if (!d_need_lookup(dentry))
> +             dentry->d_flags |= DCACHE_REFERENCED;

No it doesn't at all. The allocation will just push everything else
out.

Really you cannot view this by only looking at the dcache.
You have to look at the complete VM behaviour. All the caches
and the other memory interact.
> 
> 
> > d_alloc uses a normal GFP_KERNEL, which is quite in appropiate for this.
> > 
> > It should at least reclaim and probably more, but even then it's
> > risky.
> > 
> 
> Ah yeah I guess I should have probably used GFP_KERNEL.  Sorry about that,

GFP_KERNEL is already used, but it's wrong. I'm not sure any
of the existing GFP_* flags will give you the semantics you
need in fact. The new flag Minchan added for readahead may come
near, but even that is probably not enough.

-Andi

-- 
a...@linux.intel.com -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to