All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] reduce size of struct dentry on 64bit
@ 2004-08-15 21:45 Anton Blanchard
  0 siblings, 0 replies; only message in thread
From: Anton Blanchard @ 2004-08-15 21:45 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, jrsantos


Reduce size of struct dentry from 248 to 232 bytes on 64bit.

- Reduce size of qstr by 8 bytes, placing int hash and int len together.
  We gain a further 4 byte saving when qstr is used in struct dentry
  since qstr goes from 24 to 16 bytes and the next member (d_lru)
  requires 8 byte alignment (which means 4 bytes of padding).
  
- Move d_mounted to the end, since char d_iname[] only requires 1 byte
  alignment. This reduces struct dentry by another 4 bytes.

With these changes the number of objects we can fit into a 4kB slab
goes from 16 to 17 on ppc64.

Note the above assumes the architecture naturally aligns types.

Signed-off-by: Anton Blanchard <anton@samba.org>

diff -puN include/linux/dcache.h~optimize_structs include/linux/dcache.h
--- gr_work/include/linux/dcache.h~optimize_structs	2004-08-14 10:51:08.700491559 -0500
+++ gr_work-anton/include/linux/dcache.h	2004-08-14 10:51:08.718488705 -0500
@@ -33,8 +33,8 @@ struct vfsmount;
  */
 struct qstr {
 	unsigned int hash;
-	const unsigned char *name;
 	unsigned int len;
+	const unsigned char *name;
 };
 
 struct dentry_stat_t {
@@ -101,11 +101,11 @@ struct dentry {
 	unsigned long d_time;		/* used by d_revalidate */
 	struct dentry_operations *d_op;
 	struct super_block *d_sb;	/* The root of the dentry tree */
-	int d_mounted;
 	void *d_fsdata;			/* fs-specific data */
  	struct rcu_head d_rcu;
 	struct dcookie_struct *d_cookie; /* cookie, if any */
 	struct hlist_node d_hash;	/* lookup hash list */	
+	int d_mounted;
 	unsigned char d_iname[DNAME_INLINE_LEN_MIN];	/* small names */
 };
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-08-15 21:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-15 21:45 [PATCH] reduce size of struct dentry on 64bit Anton Blanchard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.