aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4_sb.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2008-10-09 23:53:47 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-10-09 23:53:47 -0400
commit240799cdf22bd789ea6852653c3b879d35ad0a6c (patch)
treee696b60cc103f23838b5c14d8d397f692abffbc3 /fs/ext4/ext4_sb.h
parent37515facd001942221d68171c81c1f46d54ffdd0 (diff)
downloadkernel_samsung_crespo-240799cdf22bd789ea6852653c3b879d35ad0a6c.zip
kernel_samsung_crespo-240799cdf22bd789ea6852653c3b879d35ad0a6c.tar.gz
kernel_samsung_crespo-240799cdf22bd789ea6852653c3b879d35ad0a6c.tar.bz2
ext4: Use readahead when reading an inode from the inode table
With modern hard drives, reading 64k takes roughly the same time as reading a 4k block. So request readahead for adjacent inode table blocks to reduce the time it takes when iterating over directories (especially when doing this in htree sort order) in a cold cache case. With this patch, the time it takes to run "git status" on a kernel tree after flushing the caches via "echo 3 > /proc/sys/vm/drop_caches" is reduced by 21%. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4_sb.h')
-rw-r--r--fs/ext4/ext4_sb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/ext4_sb.h b/fs/ext4/ext4_sb.h
index f92af01..94e0757 100644
--- a/fs/ext4/ext4_sb.h
+++ b/fs/ext4/ext4_sb.h
@@ -52,6 +52,7 @@ struct ext4_sb_info {
int s_desc_per_block_bits;
int s_inode_size;
int s_first_ino;
+ unsigned int s_inode_readahead_blks;
spinlock_t s_next_gen_lock;
u32 s_next_generation;
u32 s_hash_seed[4];