diff options
author | Richard Kennedy <richard@rsk.demon.co.uk> | 2010-01-26 14:12:43 +0000 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-03-03 14:07:55 -0500 |
commit | 270ba5f7c5dac0bfb564aa35a536fb31ad4075bd (patch) | |
tree | f1e3247c9ca36d92ea87be5d72e66656d24b71bd | |
parent | f1771ffaac29a7a4e321ddd94d7873bc0dcefd41 (diff) |
fs: re-order super_block to remove 16 bytes of padding on 64bit builds
re-order structure super_block to remove 16 bytes of alignment padding
on 64bit builds.
This shrinks the size of super_block from 712 to 696 bytes so requiring
one fewer 64 byte cache lines.
Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
-----
patch against 2.6.33-rc5
compiled & tested on x86_64 AMDX2 desktop machine.
I've been running with this patch applied for several weeks with no
problems.
regards
Richard
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | include/linux/fs.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 2b124c825e38..aa76dae673eb 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1314,9 +1314,9 @@ extern spinlock_t sb_lock; struct super_block { struct list_head s_list; /* Keep this first */ dev_t s_dev; /* search index; _not_ kdev_t */ - unsigned long s_blocksize; - unsigned char s_blocksize_bits; unsigned char s_dirt; + unsigned char s_blocksize_bits; + unsigned long s_blocksize; loff_t s_maxbytes; /* Max file size */ struct file_system_type *s_type; const struct super_operations *s_op; @@ -1357,16 +1357,16 @@ struct super_block { void *s_fs_info; /* Filesystem private info */ fmode_t s_mode; + /* Granularity of c/m/atime in ns. + Cannot be worse than a second */ + u32 s_time_gran; + /* * The next field is for VFS *only*. No filesystems have any business * even looking at it. You had been warned. */ struct mutex s_vfs_rename_mutex; /* Kludge */ - /* Granularity of c/m/atime in ns. - Cannot be worse than a second */ - u32 s_time_gran; - /* * Filesystem subtype. If non-empty the filesystem type field * in /proc/mounts will be "type.subtype" |