On Fri, Jan 2, 2015 at 3:22 AM, Ming Lei <tom.leiming@xxxxxxxxx> wrote: > On Thu, Jan 1, 2015 at 11:14 PM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: >> On Thu, Jan 1, 2015 at 1:29 AM, Ming Lei <tom.leiming@xxxxxxxxx> wrote: >> [...] >>>> How did you test with fio (your fio lines)? >>> >>> Your fio command line is basically same with my fio config, and you >>> can attach one image to loop via: losetup -f file_name. Looks your >>> randread result is good, and I can observe ~80 IOPS vs. ~200 IOPS >>> on my slow HDD. in the randread test too. >>> >>> #################fio config########################## >>> [global] >>> direct=1 >>> size=128G >>> bsrange=4k-4k >>> timeout=30 >>> numjobs=1 >>> ioengine=libaio >>> iodepth=64 >>> filename=/dev/loop0 >>> group_reporting=1 >>> >>> [f] >>> rw=${RW} >>> >> >> Thanks for your fio config-file. >> >> When a 1GiB is created on my ext4-system, the IOPS raised up from 515 to 981. >> >> # egrep 'iops=|Laying out IO file' fio-test*next20141231-1-loopmq-small* >> fio-test1-3.19.0-rc2-next20141231-1-loopmq-small.txt: read : >> io=1024.0MB, bw=2063.4KB/s, iops=515 , runt=508182msec >> fio-test2-3.19.0-rc2-next20141231-1-loopmq-small.txt:randread: Laying >> out IO file(s) (1 file(s) / 1024MB) >> fio-test2-3.19.0-rc2-next20141231-1-loopmq-small.txt: read : >> io=1024.0MB, bw=3924.3KB/s, iops=981 , runt=267206msec >> >> I made some more testing with next-20141231 plus block-loop-mq-v3 and >> block.git#for-linus on top (see attached full patch). > > I will submit v4 after block.git#for-linus is merged for avoiding > the conflict, and blk_mq_freeze_queue() still need to be > exported. > >> >> This increases IOPS from 981 up to 2103. > > Looks there isn't fancy patch for performance boost in block.git#for-linus, > I am wondering it may be caused by page cache, and before each test, > I always drop cache via 'echo 3 > /proc/sys/vm/drop_caches' for avoiding > the effect. > OK, good to know. I played a bit with the --size option, below 1GiB I get some fantastic results. But I will retest with dropped-caches. >> >> # egrep 'iops=|Laying out IO file' >> fio-test2-3.19.0-rc2-next20141231-1-loopmq-small.txt >> fio-test2-3.19.0-rc2-next20141231-3-loopmq-small.txt >> fio-test2-3.19.0-rc2-next20141231-1-loopmq-small.txt:randread: Laying >> out IO file(s) (1 file(s) / 1024MB) >> fio-test2-3.19.0-rc2-next20141231-1-loopmq-small.txt: read : >> io=1024.0MB, bw=3924.3KB/s, iops=981 , runt=267206msec >> fio-test2-3.19.0-rc2-next20141231-3-loopmq-small.txt:randread: Laying >> out IO file(s) (1 file(s) / 1024MB) >> fio-test2-3.19.0-rc2-next20141231-3-loopmq-small.txt: read : >> io=1024.0MB, bw=8414.9KB/s, iops=2103 , runt=124611msec >> >> If you like you can have a closer look at the fio benchmark results, > > Anyway both us can observe big improvement on randread about > the patch. > >> I also have added two patches which made it easy for me to cope with >> the merge conflicts within block/loop stuff. > > Thanks for your report on this conflict. > BTW, I played also with plain block-linus and your patchset on top against a vanilla Linux v3.19-rc2. v4 much appreciated. Feel free to add my Tested-by. - Sedat - -- 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