On 07/25/2012 04:20 AM, Christoph Hellwig wrote: > On Wed, Jul 25, 2012 at 08:31:10AM +1000, Dave Chinner wrote: >> FWIW, if you are going to change generic code, you need to present >> results for other filesystems as well (xfs, btrfs are typical), as >> they may not have the same problems as ext4 or react the same way to >> your change. The result might simply be "it is 20% slower".... > > And most importantly block devices, as they are one of the biggest > use cases of AIO. With an almost no-op get_blocks callback I can't > see how this change would provide any gain there. I tried running fio against a block device, disk partition and a ramdisk. I ran this with a single job though. For disks, bandwidth seems to stay nearly the same with submit latencies getting better. And for ramdisk, bandwidth also sees improvement. I should probably be doing better tests, any suggestions on what or how I can test? For block devices, if the patch doesn't make it worse, at least, then that should be good enough? ------ disk ------- submit latencies(usec) B/w iops runtime min max avg std dev Read : Old: 417335 B/s 101 252668msec 4 231 40.03 21.66 New: 419099 B/s 102 251282msec 0 169 8.20 6.95 Write: Old: 412667 B/s 100 252668msec 3 272 47.65 24.58 New: 415481 B/s 101 251282msec 0 134 7.95 7.11 ------ ramdisk ------- submit latencies(usec) B/w iops runtime min max avg std dev Read: Old: 708235KB/s 177058 1227msec 1 51 1.61 0.72 New: 822157KB/s 205539 1059msec 0 14 0.38 0.52 Write: Old: 710510KB/s 177627 1227msec 2 46 2.33 0.81 New: 821658KB/s 205414 1059msec 0 24 0.40 0.53 Full fio results are attached, and I dropped cache before running the tests. -- Ankit Jain SUSE Labs