qemu/tests/qemu-iotests
Peter Lieven 465bee1da8 block: optimize zero writes with bdrv_write_zeroes
this patch tries to optimize zero write requests
by automatically using bdrv_write_zeroes if it is
supported by the format.

This significantly speeds up file system initialization and
should speed zero write test used to test backend storage
performance.

I ran the following 2 tests on my internal SSD with a
50G QCOW2 container and on an attached iSCSI storage.

a) mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/vdX

QCOW2         [off]     [on]     [unmap]
-----
runtime:       14secs    1.1secs  1.1secs
filesize:      937M      18M      18M

iSCSI         [off]     [on]     [unmap]
----
runtime:       9.3s      0.9s     0.9s

b) dd if=/dev/zero of=/dev/vdX bs=1M oflag=direct

QCOW2         [off]     [on]     [unmap]
-----
runtime:       246secs   18secs   18secs
filesize:      51G       192K     192K
throughput:    203M/s    2.3G/s   2.3G/s

iSCSI*        [off]     [on]     [unmap]
----
runtime:       8mins     45secs   33secs
throughput:    106M/s    1.2G/s   1.6G/s
allocated:     100%      100%     0%

* The storage was connected via an 1Gbit interface.
  It seems to internally handle writing zeroes
  via WRITESAME16 very fast.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-05-19 13:42:27 +02:00
..
006
022
031
2014-05-15 13:41:19 +01:00
036
2014-05-15 13:41:19 +01:00
041
2013-11-27 07:53:32 -08:00
2013-11-27 07:53:32 -08:00
044
045
051
2014-05-09 20:57:31 +02:00
054
2014-05-15 13:41:19 +01:00
057
060
2014-05-15 13:41:19 +01:00
061
2014-05-15 13:41:19 +01:00
062
065
2014-05-15 13:41:19 +01:00
2014-01-22 12:07:18 +01:00
075
2014-04-01 13:59:47 +02:00
077
2014-02-09 09:12:38 +01:00
2014-01-24 17:40:25 +01:00
078
2014-04-11 13:59:49 +02:00
2014-04-11 13:59:49 +02:00
083
2014-05-15 13:41:19 +01:00
084
2014-04-01 15:22:35 +02:00
088
2014-04-01 13:59:47 +02:00
089
2014-05-19 11:36:49 +02:00
092
2014-05-19 11:36:49 +02:00
2014-05-15 13:41:19 +01:00
2014-05-19 11:36:49 +02:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@savannah.nongnu.org.