On 05/15/2012 08:53 PM, Josef Bacik wrote: > On Tue, May 15, 2012 at 10:33:16AM -0400, Josef Bacik wrote: >> This makes MS_I_VERSION be turned on by default. Ext4 had been >> unconditionally doing i_version++ in a few cases anway so the mount option >> was kind of silly. This patch also removes the update in mark_inode_dirty >> and makes all of the cases where we update ctime also do inode_inc_ב. >> file_update_time takes care of the write case and all the places where we >> update iversion are protected by the i_mutex so there should be no extra >> i_lock overhead in the normal non-exported fs case. Thanks, >> > > Ok did some basic benchmarking with dd, I ran > > dd if=/dev/zero of=/mnt/btrfs-test/file bs=1 count=10485760 > dd if=/dev/zero of=/mnt/btrfs-test/file bs=1M count=1000 > dd if=/dev/zero of=/mnt/btrfs-test/file bs=1M count=5000 > > 3 times with the patch and without the patch. With the worst case scenario > there is about a 40% longer run time, going from on average 12 seconds to 17 > seconds. do you mean that the "with the patch" is 40% slower then "without the patch" in the same "bs=1 count=10485760 test" ? Then count me clueless. Do you understand this difference? The way I read your patch the inode is copied and written to disk exactly the same number of times, as before. Only that now i_version is also updated together with ctime and/or mtime. What is the fundamental difference then? Is it just that i_version++ in-memory operation? > With the other two runs they are the same runtime with the 1 megabyte > blocks. So the question is, do we care about this worst case since any sane > application developer isn't going to do writes that small? Thanks, > Josef Thanks Boaz -- 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