summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2010-01-21 20:00:02 +0200
committerBoaz Harrosh <bharrosh@panasas.com>2010-02-28 03:35:25 -0800
commit518f167a37b3c53f3cf44d27800455ca24e920f6 (patch)
tree9ba5e73f6e7b7107a1b151503eecd8d5cc09e687
parent34ce4e7c23e3da578e459b05c6fb17edecb19e6b (diff)
downloadlinux-stable-518f167a37b3c53f3cf44d27800455ca24e920f6.tar.gz
linux-stable-518f167a37b3c53f3cf44d27800455ca24e920f6.tar.bz2
linux-stable-518f167a37b3c53f3cf44d27800455ca24e920f6.zip
exofs: Micro-optimize exofs_i_info
optimize the exofs_i_info struct usage by moving the embedded vfs_inode to be first. A compiler might optimize away an "add" operation with constant zero. (Which it cannot with other constants) Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
-rw-r--r--fs/exofs/exofs.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h
index c35fd4623986..13663da2b119 100644
--- a/fs/exofs/exofs.h
+++ b/fs/exofs/exofs.h
@@ -78,13 +78,13 @@ struct exofs_sb_info {
* our extension to the in-memory inode
*/
struct exofs_i_info {
+ struct inode vfs_inode; /* normal in-memory inode */
+ wait_queue_head_t i_wq; /* wait queue for inode */
unsigned long i_flags; /* various atomic flags */
uint32_t i_data[EXOFS_IDATA];/*short symlink names and device #s*/
uint32_t i_dir_start_lookup; /* which page to start lookup */
- wait_queue_head_t i_wq; /* wait queue for inode */
uint64_t i_commit_size; /* the object's written length */
uint8_t i_cred[OSD_CAP_LEN];/* all-powerful credential */
- struct inode vfs_inode; /* normal in-memory inode */
};
static inline osd_id exofs_oi_objno(struct exofs_i_info *oi)