Commit 270ba5f7 authored by Richard Kennedy's avatar Richard Kennedy Committed by Al Viro

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: default avatarRichard 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: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent f1771ffa
...@@ -1314,9 +1314,9 @@ extern spinlock_t sb_lock; ...@@ -1314,9 +1314,9 @@ extern spinlock_t sb_lock;
struct super_block { struct super_block {
struct list_head s_list; /* Keep this first */ struct list_head s_list; /* Keep this first */
dev_t s_dev; /* search index; _not_ kdev_t */ 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_dirt;
unsigned char s_blocksize_bits;
unsigned long s_blocksize;
loff_t s_maxbytes; /* Max file size */ loff_t s_maxbytes; /* Max file size */
struct file_system_type *s_type; struct file_system_type *s_type;
const struct super_operations *s_op; const struct super_operations *s_op;
...@@ -1357,16 +1357,16 @@ struct super_block { ...@@ -1357,16 +1357,16 @@ struct super_block {
void *s_fs_info; /* Filesystem private info */ void *s_fs_info; /* Filesystem private info */
fmode_t s_mode; 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 * The next field is for VFS *only*. No filesystems have any business
* even looking at it. You had been warned. * even looking at it. You had been warned.
*/ */
struct mutex s_vfs_rename_mutex; /* Kludge */ 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 * Filesystem subtype. If non-empty the filesystem type field
* in /proc/mounts will be "type.subtype" * in /proc/mounts will be "type.subtype"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment