diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2010-01-21 20:00:02 +0200 |
---|---|---|
committer | Boaz Harrosh <bharrosh@panasas.com> | 2010-02-28 03:35:25 -0800 |
commit | 518f167a37b3c53f3cf44d27800455ca24e920f6 (patch) | |
tree | 9ba5e73f6e7b7107a1b151503eecd8d5cc09e687 /fs/exofs/exofs.h | |
parent | 34ce4e7c23e3da578e459b05c6fb17edecb19e6b (diff) |
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>
Diffstat (limited to 'fs/exofs/exofs.h')
-rw-r--r-- | fs/exofs/exofs.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h index c35fd462398..13663da2b11 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) |