2011-02-14 16:39:31

by Richard Kennedy

[permalink] [raw]
Subject: fs: remove 8 bytes of padding from block_device on 64bit builds

Re-ordering struct block_inode to remove 8 bytes of padding on 64 bit
builds, which also shrinks bdev_inode by 8 bytes (776 -> 768) allowing
it to fit into one fewer cache lines.

Signed-off-by: Richard Kennedy <[email protected]>
------
patch against v2.6.38-rc4
compiled & tested on x86_64

regards
Richard



diff --git a/include/linux/fs.h b/include/linux/fs.h
index bd32159..7c65780 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -658,9 +658,9 @@ struct address_space {

struct block_device {
dev_t bd_dev; /* not a kdev_t - it's a search key */
+ int bd_openers;
struct inode * bd_inode; /* will die */
struct super_block * bd_super;
- int bd_openers;
struct mutex bd_mutex; /* open/close mutex */
struct list_head bd_inodes;
void * bd_claiming;