lkml.org 
[lkml]   [2004]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: dentry bloat.
On Sat, May 08, 2004 at 03:11:59AM -0700, Andrew Morton wrote:
> Andrew Morton <akpm@osdl.org> wrote:
> >
> > Here be another patch.
>
>
> Can't help myself!
>
>
> - d_vfs_flags can be removed - just use d_flags. It looks like someone
> added d_vfs_flags with the intent of doing bitops on it, but all
> modifications are under dcache_lock. 4 bytes saved.

Bzzert. ->d_vfs_flags modifications are under dcache_lock; ->d_flags ones
are *not* - they are up to whatever filesystem code happens to use them.

> - Pack things so that dentry.d_name.len and dentry.d_flags occupy the same
> word. 4 bytes saved.

d_name.len is accessed on very hot paths. In particular, we are looking
at it while traversing hash chains and we do that without dcache_lock
(see callers of ->d_compare()).

If we are going to hold dcache_lock in __d_lookup(), we can get rid of
a _lot_ more than 2 bytes. 32 bytes that came from RCU are there pretty
much for a single reason - to avoid dcache_lock on that path.
-
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 14:03    [W:0.182 / U:1.116 seconds]
©2003-2014 Jasper Spaans. Advertise on this site