fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 19 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, and much more. It can work on block devices as well as files. fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. fio displays all sorts of I/O performance information, including complete IO latencies and percentiles. Fio is in wide use in many places, for both benchmarking, QA, and verification purposes. It supports Linux, FreeBSD, NetBSD, OpenBSD, OS X, OpenSolaris, AIX, HP-UX, Android, and Windows.
nitink, that should be fixed. Try upgrading, 2.0.7 was just tagged yesterday.
In general, please report issues on the fio mailing list, firstname.lastname@example.org
I don't watch this space very closely, evidenced by the month long reply time :-)
vjacheslav, there is synchronization support. See the stonewall/wait_for_previous primitive. You might also be interested in using exit_all to terminate the write part when the read part finishes.