On Tue, Apr 22, 2008 at 09:18:47AM -0500, Jose R. Santos wrote: > > @@ -1638,6 +1654,19 @@ static void PRS(int argc, char *argv[]) > > > > if (inode_size == 0) > > inode_size = get_int_from_profile(fs_types, "inode_size", 0); > > + if (!flex_bg_size && (fs_param.s_feature_incompat & > > + EXT4_FEATURE_INCOMPAT_FLEX_BG)) > > + get_int_from_profile(fs_types, "flex_bg_size", 8); > > A default of 256 block groups to pack seems a bit high base on some of > the performance testing that I've done. At some point having the inodes > too far away from the data blocks begins to affect performance > (especially on read operations). The optimum number of groups depends > a lot on platter density of the hard drive so I expect that we can > increase the default grouping size as time goes by. Using 128 groups > as already showing performance degradation on read operations on some > of my smaller disks (147GB). For now, I would change this to 6 (64 > groups) as this is a good balance for both big an small disks. Actually this is 8 (as in 2**3), which was intentionally very small, because I was being conservative. I could change it to be 64 if you think it is a better balance. As you can see, it gets set later on down here. > > + fs_param.s_log_groups_per_flex = int_log2(flex_bg_size); And, in fact the biggest bug which both you and I missed was that this: > > + get_int_from_profile(fs_types, "flex_bg_size", 8); Should have been this: flex_bg_size = get_int_from_profile(fs_types, "flex_bg_size", 8); <Dons paper bag> - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html