On Thu, Apr 12, 2012 at 09:32:24AM +0800, Fengguang Wu wrote: > On Wed, Apr 11, 2012 at 04:13:44PM -0700, Andrew Morton wrote: > > On Mon, 09 Apr 2012 10:34:44 -0400 > > Jeff Moyer <jmoyer@xxxxxxxxxx> wrote: > > > > > Wu Fengguang <fengguang.wu@xxxxxxxxx> writes: > > > > > > > Buffered write(2) is not directly tied to IO, so it's not suitable to > > > > handle plug in generic_file_aio_write(). > > > [snip, moved] > > > > Note that plugging for O_SYNC writes is also removed. The user may pass > > > > arbitrary @size arguments, which may be much larger than the preferable > > > > I/O size, or may cross extent/device boundaries. Let the lower layers > > > > handle the plugging. Otherwise the plugging code here will turn the > > > > low level plugging into no-ops. > > > > > > I assume you have some numbers to back this up, right? Care to share > > > those? > > > > Yes please. > > > > We've broken this stuff a few times recently - we should review and > > test carefully. > > Yes sure. Last time I posted the patch, I did some tests and found no > performance changes. Now for 3.3, the tests started days ago have not > finished now (partly because it is stalled for quite long time due to > unknown reason). The now-available numbers for bs=4k dd's look fine. > The pending tests are for bs=1M dd's and some random fio workloads. The bs=1M and fio performance numbers are also unchanged (within the error range): wfg@bee /export/writeback% ./compare -g bs=1M bay/*/*-{3.3.0,3.3.0-plug+} 3.3.0 3.3.0-plug+ ------------------------ ------------------------ 196.56 +0.4% 197.32 bay/JBOD-2HDD-thresh=1000M/xfs-1dd:bs=1M-1-3.3.0 99.47 -0.2% 99.31 bay/thresh=1000M/xfs-1dd:bs=1M-1-3.3.0 99.19 +0.0% 99.20 bay/thresh=1000M:990M/xfs-1dd:bs=1M-1-3.3.0 99.03 +0.6% 99.64 bay/thresh=1000M:999M/xfs-1dd:bs=1M-1-3.3.0 99.37 -0.1% 99.22 bay/thresh=100M/xfs-1dd:bs=1M-1-3.3.0 92.62 -0.6% 92.07 bay/thresh=10M/xfs-1dd:bs=1M-1-3.3.0 7.38 +4.2% 7.69 bay/thresh=1M/btrfs-10dd:bs=1M-1-3.3.0 7.52 -0.9% 7.45 bay/thresh=1M/btrfs-10dd:bs=1M-2-3.3.0 8.41 +0.3% 8.44 bay/thresh=1M/btrfs-1dd:bs=1M-1-3.3.0 8.63 -2.9% 8.38 bay/thresh=1M/btrfs-1dd:bs=1M-2-3.3.0 68.98 -1.0% 68.28 bay/thresh=1M/xfs-1dd:bs=1M-1-3.3.0 787.17 -0.0% 786.99 TOTAL write_bw The random writes see more fluctuations: wfg@bee /export/writeback% ./compare fat/*/*-{3.3.0,3.3.0-plug+} 3.3.0 3.3.0-plug+ ------------------------ ------------------------ 15.38 -8.1% 14.13 fat/fio/btrfs-fio_fat_mmap_randwrite_4k-1-3.3.0 15.63 -15.9% 13.14 fat/fio/btrfs-fio_fat_mmap_randwrite_4k-2-3.3.0 53.96 -1.3% 53.26 fat/fio/btrfs-fio_fat_mmap_randwrite_64k-1-3.3.0 53.36 +0.4% 53.56 fat/fio/btrfs-fio_fat_mmap_randwrite_64k-2-3.3.0 56.40 +1.4% 57.19 fat/fio/btrfs-fio_fat_rates-1-3.3.0 56.15 -0.5% 55.88 fat/fio/btrfs-fio_fat_rates-2-3.3.0 9.55 -2.5% 9.31 fat/fio/ext3-fio_fat_mmap_randwrite_4k-1-3.3.0 9.28 +2.9% 9.55 fat/fio/ext3-fio_fat_mmap_randwrite_4k-2-3.3.0 10.55 +2.0% 10.77 fat/fio/ext3-fio_fat_mmap_randwrite_64k-1-3.3.0 10.23 +5.1% 10.76 fat/fio/ext3-fio_fat_mmap_randwrite_64k-2-3.3.0 40.24 -0.5% 40.05 fat/fio/ext3-fio_fat_rates-1-3.3.0 40.11 +0.2% 40.19 fat/fio/ext3-fio_fat_rates-2-3.3.0 2.49 -1.3% 2.46 fat/fio/ext4-fio_fat_mmap_randwrite_4k-1-3.3.0 2.33 -4.6% 2.23 fat/fio/ext4-fio_fat_mmap_randwrite_4k-2-3.3.0 8.61 -4.5% 8.22 fat/fio/ext4-fio_fat_mmap_randwrite_64k-1-3.3.0 8.32 -2.5% 8.11 fat/fio/ext4-fio_fat_mmap_randwrite_64k-2-3.3.0 49.43 +5.8% 52.30 fat/fio/ext4-fio_fat_rates-1-3.3.0 50.26 +5.9% 53.25 fat/fio/ext4-fio_fat_rates-2-3.3.0 2.29 -1.4% 2.25 fat/fio/ext4:wb-fio_fat_mmap_randwrite_4k-1-3.3.0 2.76 +0.0% 2.76 fat/fio/ext4:wb-fio_fat_mmap_randwrite_4k-2-3.3.0 8.36 +3.5% 8.65 fat/fio/ext4:wb-fio_fat_mmap_randwrite_64k-1-3.3.0 8.21 -0.7% 8.16 fat/fio/ext4:wb-fio_fat_mmap_randwrite_64k-2-3.3.0 51.32 +2.5% 52.62 fat/fio/ext4:wb-fio_fat_rates-1-3.3.0 53.53 -0.4% 53.31 fat/fio/ext4:wb-fio_fat_rates-2-3.3.0 9.17 +4.6% 9.59 fat/fio/xfs-fio_fat_mmap_randwrite_4k-1-3.3.0 9.36 -0.9% 9.28 fat/fio/xfs-fio_fat_mmap_randwrite_4k-2-3.3.0 44.24 -0.4% 44.06 fat/fio/xfs-fio_fat_mmap_randwrite_64k-1-3.3.0 43.03 -0.8% 42.70 fat/fio/xfs-fio_fat_mmap_randwrite_64k-2-3.3.0 55.74 -7.4% 51.61 fat/fio/xfs-fio_fat_rates-1-3.3.0 51.64 -1.1% 51.05 fat/fio/xfs-fio_fat_rates-2-3.3.0 831.94 -0.2% 830.38 TOTAL write_bw Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html