From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ankit Jain Subject: Re: [RFC][PATCH] Make io_submit non-blocking Date: Thu, 26 Jul 2012 01:42:55 +0530 Message-ID: <50105347.3050308@suse.de> References: <500E89D1.9010303@suse.de> <20120724223110.GQ23387@dastard> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000306030108090509050009" Cc: Al Viro , bcrl@kvack.org, linux-fsdevel@vger.kernel.org, linux-aio@kvack.org, linux-kernel@vger.kernel.org, Jan Kara To: Dave Chinner Return-path: In-Reply-To: <20120724223110.GQ23387@dastard> Sender: owner-linux-aio@kvack.org List-Id: linux-fsdevel.vger.kernel.org This is a multi-part message in MIME format. --------------000306030108090509050009 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On 07/25/2012 04:01 AM, Dave Chinner wrote: > On Tue, Jul 24, 2012 at 05:11:05PM +0530, Ankit Jain wrote: [snip] >> **Unpatched** >> read : io=102120KB, bw=618740 B/s, iops=151 , runt=169006msec >> slat (usec): min=275 , max=87560 , avg=6571.88, stdev=2799.57 > > Hmmm, I had to check the numbers twice - that's only 600KB/s. > > Perhaps you need to test on something more than a single piece of > spinning rust. Optimising AIO for SSD rates (say 100k 4k write IOPS) > is probably more relevant to the majority of AIO users.... I tested with a ramdisk to "simulate" a fast disk and had attached the results. I'll try to get hold of a SSD and then test with that also. Meanwhile, I ran the tests again, with ext3/ext4/xfs/btrfs and not sure what I had screwed up when I did that previous test, but the numbers look proper (as I was getting in my earlier testing) now: For disk, I tested on a separate partition formatted with the fs, and then run fio on it, with 1 job. Here "Old" is 3.5-rc7 (918227b). ------ disk ------- ====== ext3 ====== submit latencies(usec) B/w iops runtime min max avg std dev ext3-read : Old: 453352 B/s 110 231050msec 3 283048 170.28 5183.28 New: 451298 B/s 110 232555msec 0 444 8.18 7.95 ext3-write: Old: 454309 B/s 110 231050msec 2 304614 232.72 6549.82 New: 450488 B/s 109 232555msec 0 233 7.94 7.23 ====== ext4 ====== ext4-read : Old: 459824 B/s 112 228635msec 2 260051 121.40 3569.78 New: 422700 B/s 103 247097msec 0 165 8.18 7.87 ext4-write: Old: 457424 B/s 111 228635msec 3 312958 166.75 4616.58 New: 426015 B/s 104 247097msec 0 169 8.00 8.08 ====== xfs ====== xfs-read : Old: 467330 B/s 114 224516msec 3 272 46.45 25.35 New: 417049 B/s 101 252262msec 0 165 7.84 7.87 xfs-write: Old: 466746 B/s 113 224516msec 3 265 52.52 28.13 New: 414289 B/s 101 252262msec 0 143 7.58 7.66 ====== btrfs ====== btrfs-read : Old: 1027.1KB/s 256 99918msec 5 84457 62.15 527.24 New: 1054.5KB/s 263 97542msec 0 121 9.72 7.05 btrfs-write: Old: 1021.8KB/s 255 99918msec 10 139473 84.96 899.99 New: 1045.2KB/s 261 97542msec 0 248 9.55 7.02 These are the figures with a ramdisk: ------ ramdisk ------- ====== ext3 ====== submit latencies (usec) B/w iops runtime min max avg std dev ext3-read : Old: 430312KB/s 107577 2026msec 1 7072 3.85 15.17 New: 491251KB/s 122812 1772msec 0 22 0.39 0.52 ext3-write: Old: 428918KB/s 107229 2026msec 2 61 3.46 0.85 New: 491142KB/s 122785 1772msec 0 62 0.43 0.55 ====== ext4 ====== ext4-read : Old: 466132KB/s 116532 1869msec 2 133 3.66 1.04 New: 542337KB/s 135584 1607msec 0 67 0.40 0.54 ext4-write: Old: 465276KB/s 116318 1869msec 2 127 2.96 0.94 New: 540923KB/s 135230 1607msec 0 73 0.43 0.55 ====== xfs ====== xfs-read : Old: 485556KB/s 121389 1794msec 2 160 3.58 1.22 New: 581477KB/s 145369 1495msec 0 19 0.39 0.51 xfs-write: Old: 484789KB/s 121197 1794msec 1 87 2.68 0.99 New: 582938KB/s 145734 1495msec 0 56 0.43 0.55 ====== btrfs ====== I had trouble with btrfs on a ramdisk though, it complained about space during preallocation. This was with a 4gig ramdisk and fio set to write 1700mb file, so these numbers are from that partial run. Btrfs ran fine on a regular disk though. btrfs-read : Old: 107519KB/s 26882 2579msec 13 1492 17.03 9.23 New: 109878KB/s 27469 4665msec 0 29 0.45 0.55 btrfs-write: Old: 108047KB/s 27020 2579msec 1 64963 17.21 823.88 New: 109413KB/s 27357 4665msec 0 32 0.48 0.56 Also, I dropped caches ("echo 3 > /proc/vm/sys/drop_cache") and sync'ed before running each test. All the fio log files are attached. Any suggestions on how I might test this better, other than the SSD suggestion ofcourse. [snip] > Also, you added a memory allocation in the io submit code. Worse > case latency will still be effectively undefined - what happens to > latencies if you generate memory pressure while the test is running? I'll try to fix this. -- Ankit Jain SUSE Labs --------------000306030108090509050009 Content-Type: application/x-compressed-tar; name="fio-logs.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fio-logs.tgz" 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 rnOd61znOtcbWv8PxddnugAYAQA= --------------000306030108090509050009-- -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: aart@kvack.org