summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Tosatti <marcelo.tosatti@cyclades.com>2006-02-03 03:04:06 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-03 08:32:04 -0800
commit47ba87e0b1269698801310bfd1716b0538282405 (patch)
treebe429e822401e9f1a213b008b5e6e2f538754888
parent09114eb8c53d2d3b2ff9523e011cb68b2e245dce (diff)
downloadlinux-3.10-47ba87e0b1269698801310bfd1716b0538282405.tar.gz
linux-3.10-47ba87e0b1269698801310bfd1716b0538282405.tar.bz2
linux-3.10-47ba87e0b1269698801310bfd1716b0538282405.zip
[PATCH] make "struct d_cookie" depend on CONFIG_PROFILING
Shrinks "struct dentry" from 128 bytes to 124 on x86, allowing 31 objects per slab instead of 30. Cc: John Levon <levon@movementarian.org> Cc: Philippe Elie <phil.el@wanadoo.fr> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/dcache.c2
-rw-r--r--include/linux/dcache.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 86bdb93789c..a173bba3266 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -743,7 +743,9 @@ struct dentry *d_alloc(struct dentry * parent, const struct qstr *name)
dentry->d_op = NULL;
dentry->d_fsdata = NULL;
dentry->d_mounted = 0;
+#ifdef CONFIG_PROFILING
dentry->d_cookie = NULL;
+#endif
INIT_HLIST_NODE(&dentry->d_hash);
INIT_LIST_HEAD(&dentry->d_lru);
INIT_LIST_HEAD(&dentry->d_subdirs);
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index a3ed5e059d4..a3f09947940 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -108,7 +108,9 @@ struct dentry {
struct dentry_operations *d_op;
struct super_block *d_sb; /* The root of the dentry tree */
void *d_fsdata; /* fs-specific data */
+#ifdef CONFIG_PROFILING
struct dcookie_struct *d_cookie; /* cookie, if any */
+#endif
int d_mounted;
unsigned char d_iname[DNAME_INLINE_LEN_MIN]; /* small names */
};