aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorRichard Kennedy <richard@rsk.demon.co.uk>2010-01-26 09:12:43 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2010-03-03 14:07:55 -0500
commit270ba5f7c5dac0bfb564aa35a536fb31ad4075bd (patch)
treef1e3247c9ca36d92ea87be5d72e66656d24b71bd /include/linux
parentf1771ffaac29a7a4e321ddd94d7873bc0dcefd41 (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>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h12
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;
1314struct super_block { 1314struct super_block {
1315 struct list_head s_list; /* Keep this first */ 1315 struct list_head s_list; /* Keep this first */
1316 dev_t s_dev; /* search index; _not_ kdev_t */ 1316 dev_t s_dev; /* search index; _not_ kdev_t */
1317 unsigned long s_blocksize;
1318 unsigned char s_blocksize_bits;
1319 unsigned char s_dirt; 1317 unsigned char s_dirt;
1318 unsigned char s_blocksize_bits;
1319 unsigned long s_blocksize;
1320 loff_t s_maxbytes; /* Max file size */ 1320 loff_t s_maxbytes; /* Max file size */
1321 struct file_system_type *s_type; 1321 struct file_system_type *s_type;
1322 const struct super_operations *s_op; 1322 const struct super_operations *s_op;
@@ -1357,16 +1357,16 @@ struct super_block {
1357 void *s_fs_info; /* Filesystem private info */ 1357 void *s_fs_info; /* Filesystem private info */
1358 fmode_t s_mode; 1358 fmode_t s_mode;
1359 1359
1360 /* Granularity of c/m/atime in ns.
1361 Cannot be worse than a second */
1362 u32 s_time_gran;
1363
1360 /* 1364 /*
1361 * The next field is for VFS *only*. No filesystems have any business 1365 * The next field is for VFS *only*. No filesystems have any business
1362 * even looking at it. You had been warned. 1366 * even looking at it. You had been warned.
1363 */ 1367 */
1364 struct mutex s_vfs_rename_mutex; /* Kludge */ 1368 struct mutex s_vfs_rename_mutex; /* Kludge */
1365 1369
1366 /* Granularity of c/m/atime in ns.
1367 Cannot be worse than a second */
1368 u32 s_time_gran;
1369
1370 /* 1370 /*
1371 * Filesystem subtype. If non-empty the filesystem type field 1371 * Filesystem subtype. If non-empty the filesystem type field
1372 * in /proc/mounts will be "type.subtype" 1372 * in /proc/mounts will be "type.subtype"