X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=ldiskfs%2Fkernel_patches%2Fpatches%2Frhel7.6%2Fext4-preread-gd.patch;fp=ldiskfs%2Fkernel_patches%2Fpatches%2Frhel7.6%2Fext4-preread-gd.patch;h=db3abe6c54d6531bf6d9d462f2f7cbeb6cc99626;hb=fc87b01f96e8485a3713d0e446551e985e0e4aa0;hp=0000000000000000000000000000000000000000;hpb=7a74d382d5e8867785f662aede54a3e399168325;p=fs%2Flustre-release.git diff --git a/ldiskfs/kernel_patches/patches/rhel7.6/ext4-preread-gd.patch b/ldiskfs/kernel_patches/patches/rhel7.6/ext4-preread-gd.patch new file mode 100644 index 0000000..db3abe6 --- /dev/null +++ b/ldiskfs/kernel_patches/patches/rhel7.6/ext4-preread-gd.patch @@ -0,0 +1,29 @@ +commit 85c8f176a6111ecde9c158109989dbd445a0e59a +Author: Andrew Perepechko +AuthorDate: Sun Apr 30 00:46:35 2017 -0400 +Commit: Theodore Ts'o +CommitDate: Sun Apr 30 00:46:35 2017 -0400 +ext4: preload block group descriptors + +With enabled meta_bg option block group descriptors +reading IO is not sequential and requires optimization. + +Signed-off-by: Andrew Perepechko +Signed-off-by: Theodore Ts'o +Index: fs/ext4/super.c +=================================================================== +--- linux-stage/fs/ext4/super.c.orig ++++ linux-stage.orig/fs/ext4/super.c +@@ -3918,6 +3919,12 @@ static int ext4_fill_super(struct super_ + + bgl_lock_init(sbi->s_blockgroup_lock); + ++ /* Pre-read the descriptors into the buffer cache */ ++ for (i = 0; i < db_count; i++) { ++ block = descriptor_loc(sb, logical_sb_block, i); ++ sb_breadahead(sb, block); ++ } ++ + for (i = 0; i < db_count; i++) { + block = descriptor_loc(sb, logical_sb_block, i); + sbi->s_group_desc[i] = sb_bread(sb, block);